首页 > 数据库 >#yyds干货盘点#node.js链接MongoDB数据库

#yyds干货盘点#node.js链接MongoDB数据库

时间:2022-12-14 19:32:47浏览次数:63  
标签:node yyds const mongodb await db client MongoDB console

在这之前

确保当前环境下安装了mongodb的模块,且mongodb数据库已经启动,安装mongodb模块到当前目录可以通过

yarn add mongodb

我此时安装的是v4.1.4版本的mongodb

常见的连接方法

const { MongoClient } = require('mongodb')
const url = "mongodb://localhost:27017"
const dbName = 'myProject' // 这里写需要操作的数据库
const mongoClient = new MongoClient(url);

mongoClient.connect(function (err, client) {
if (err) throw err
console.log('connect to the database!')
const db = client.db(dbName);
//这中间可以写对db的任何操作
client.close(); //关闭数据库
});

MangoDB官网的方法

看官方文档的时候发现的写法,通过异步的async await实现。

const { MongoClient } = require('mongodb')

async function main(){
const url = "mongodb://localhost:27017"
const client = new MongoClient(url);
try {
await client.connect();
console.log('Access to database!')
await listDatabases(client)
} catch (e) {
console.error(e);
} finally {
await client.close();
}
}
main().catch(console.error);

//列出所有数据库
async function listDatabases(client) {
const databasesList = await client.db().admin().listDatabases()
console.log('Databases:')
databasesList.databases.forEach(db => {
console.log(`- ${db.name}`)
})
}

标签:node,yyds,const,mongodb,await,db,client,MongoDB,console
From: https://blog.51cto.com/u_11365839/5938271

相关文章

  • #yyds干货盘点# react笔记之学习之state注意事项
    前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从......
  • windows 按照mongodb数据库
    参考博客,不要选择c盘安装,我下载的msi文件直接安装的,https://www.cnblogs.com/nastu/p/16271881.htmlhttps://www.runoob.com/mongodb/mongodb-window-install.html......
  • Nodejs学习 2 -- events事件处理EventEmitter
    EventEmitter类模块:events源码:events.jsEventEmitter类,是node中事件的基础,实现了事件模型需要的接口,包括addListener,removeListener,emit及其ta工具方法.同原生ja......
  • mongodb查询解释级别
    1COLLSCAN#全表扫描2IXSCAN#索引扫描3FETCH#根据索引去检索指定document4SHARD_MERGE#将各个分片返回数据进行merge5SORT#表明在内存中进行了排序(与老......
  • k8s--service 之 HeadLiness、NodePort 使用
    前戏环境还是使用我们上节的环境HeadLiness在某些场景中,开发人员可能不想使用Service提供的负载均衡功能,而希望自己来控制负载均衡策略,针对这种情况,kubernetes 提供了H......
  • Vercel是什么?怎么部署Node服务?
    Vercel是什么?本篇文章带大家了解一下Vercel,并介绍一下在Vercel中部署 Node 服务的方法,希望对大家有所帮助!之前在写面试常客:HTTP缓存时,曾经就强缓存和协商缓存写过两个......
  • 卸载 nodejs 时报错 you must be an administrator to remove this application 的解
    这是在win11下报的错,要不怎么说win11就是个笑话。我是这么解决的:首先找到原始的安装包。再以管理员身份打开cmd(怎么操作?先打开一个普通的cmd,然后按住ctl+shift......
  • #yyds干货盘点#聊聊vuex的Mutations和Actions
    首先讲讲版本问题,如果使用​​vue-cli2​​模版搭建的基础项目,注意,如果使用​​vue​​版本是2,当你你默认安装​​vuex​​肯定是​​4.x​​版本了,这里需要注意的是,你要降......
  • #yyds干货盘点#JS数据类型判断几种方式
     一般JS检测数据类型有4种方法:typeof、constructor、instanceof和Object.prototype.toString,相信大家也对这几种判断很熟悉,下面我再罗列两种,供各位使用。​typeof:检测基......
  • #yyds干货盘点#【愚公系列】2022年12月 微信小程序-自定义导航栏功能的实现
    前言导航栏是指位于页面顶部或者侧边区域的,在页眉横幅图片上边或下边的一排水平导航按钮,它起着链接站点或者软件内的各个页面的作用。小程序原生导航栏的限制除了胶囊按......