MongoDB入门教程之二 用nodejs访问MongoDB

MongoDB入门教程之二 用nodejs访问MongoDB
最新回答
无色的海

2026-05-20 06:53:59

使用Node.js访问MongoDB的入门教程

在上一篇教程中,我们已经完成了MongoDB的环境搭建,并在localhost:27017的服务器上,于数据库admin下创建了一个名为person的集合,并插入了两条记录。接下来,我们将使用Node.js来读取这些记录。

首先,确保你已经安装了Node.js和npm。然后,在命令行中执行以下命令来安装MongoDB的Node.js驱动程序:

npm install mongodb

安装完成后,新建一个JavaScript文件,例如app.js,并复制以下代码:

var MongoClient = require('mongodb').MongoClient;var url = "mongodb://localhost:27017";MongoClient.connect(url, function(err, db) { if (err) { console.log(err); throw err; } console.log("Jerry DB connection established!"); var dbo = db.db("admin"); dbo.collection("person").find({}).toArray(function(err, result) { if (err) throw err; console.log(result); db.close(); }); // 注意:这里有一个多余的db.close(),实际上应该在find的回调函数中关闭连接 // db.close();});

这段代码做了以下几件事:

  1. 引入MongoDB的Node.js驱动程序。
  2. 定义MongoDB的连接URL。
  3. 使用MongoClient.connect方法连接到MongoDB服务器。
  4. 如果连接成功,选择admin数据库。
  5. 使用dbo.collection("person").find({}).toArray方法查询person集合中的所有记录,并将结果转换为数组。
  6. 在回调函数中处理查询结果,打印到控制台,并关闭数据库连接。

注意:在上面的代码中,我注意到有一个多余的db.close()调用,它位于find方法的外部。实际上,我们应该在find的回调函数中关闭连接,以确保在查询完成后再关闭。因此,我已经在上面的代码中注释掉了多余的db.close()调用。

现在,如果你想只读取name为Jerry的那条记录,你可以修改find方法中的查询条件,如下所示:

dbo.collection("person").find({ name: "Jerry" }).toArray(function(err, result) { if (err) throw err; console.log(result); db.close();});

这样,就只有name为Jerry的记录会被查询出来。

最后,运行你的Node.js脚本:

node app.js

你应该能在控制台中看到查询结果。

希望这个教程能帮助你开始使用Node.js访问MongoDB!如果你有任何问题或需要进一步的帮助,请随时提问。