Node.js连接MongoDB数据库

今天和朋友一起讨论了一下有关芒果DB的知识,感觉自己要慢慢转向后端了呢(笑)。

MongoDB是一种非关系型数据库,了解MongoDB主要是为了和我已经了解的Cloudant数据库(NoSQL)、DB2(SQL)作对比,同时进一步熟悉增删改查。

有关MongoDB数据库的安装就暂时略过了,需要提及的是,在MongoDB的基本安装完成之后,它是没有GUI界面的,于是我安装了一个叫MongoDBCompass的GUI工具(也可以完全不安装,按个人需求来)

MongoDBCompass长这样:

接下来就开始用nodejs连接MongoDB数据库啦

首先我们要确认我们的MongoDB本地是连着服务器端的:windows系统进入terminal(cmd),然后输入命令:---mongod 

当我们启动mongod时,实际上是在启动一个新的数据库,但是我们不直接与mongod进程交互。我们使用数据库客户端【mongoshell】与mongod通信,我们向客户端发出命令,客户端负责与mongod通信以执行这些命令

如果没有报错,说明我们mongodb的远程服务器是连接上的。那么请不要关闭控制台,使之保持连接状态。

下面我们可以创建一个新文件夹,可以用命令 mkdir node_quickstart

然后 cd node_quickstart进入node_quickstart

然后在nodejs下安装mongodb的包(有好多种供我们选择的包,具体可以去npm官网搜索关键字mongodb),例如以下两种中的任意一种;

我选择的是第一个,因此我输入命令:npm install mongodb

安装好之后,输入命令:code .   

会进入Vscode编辑器(如果你安装了的话),然后我们在已有的文件中并列安装一个index.js的文件

我们可以将nodejs连接mongodb(以及增删改查基本操作)的代码写在这里:

由于我之前在MongoDBCompass上面先建了名为名为test的Database和名为user的Collection,所以代码中我用ping命令测试了是否能够接收到MongoDB远程客户端名为test的Database;

const { MongoClient, ServerApiVersion } = require('mongodb');//引入mongodb包
const uri = "mongodb://127.0.0.1:27017";

// Create a MongoClient with a MongoClientOptions object to set the Stable API version
const client = new MongoClient(uri, {
  serverApi: {
    version: ServerApiVersion.v1,
    strict: true,
    deprecationErrors: true,
  }
});

async function run() {
  try {
    // Connect the client to the server	(optional starting in v4.7)
    await client.connect();
    // Send a ping to confirm a successful connection
    await client.db("test").command({ ping: 1 });
    console.log("Pinged your deployment. You successfully connected to MongoDB!");
  } finally {
    // Ensures that the client will close when you finish/error
    await client.close();
  }
}
run().catch(console.dir);

在Vscode terminal中输入node index.js 命令

可以打印出:

说明连接成功了。

以上就是我对Node.js连接MongoDB数据库的基本认识,还有些不足之处,希望大家多多指教!

谢谢!

目前还有一个不懂的地方,就是我配置完MongoDB的环境变量之后,在terminal输入“mongo”命令,系统还是不能识别;然而我将ip地址:127.0.0.1:27017输入任意一个网址之后,它显示的却是已连接上,所以这是为什么呢?(未完待续...)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值