Node.js 连接 MongoDB

2020-06-17 05:29:55易采站长站整理

更新一条数据


var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
if (err) throw err;
var dbo = db.db("runoob");
var whereStr = {"name":'软件开发网'}; // 查询条件
var updateStr = {$set: { "url" : "https://www.mscto.com" }};
dbo.collection("site").updateOne(whereStr, updateStr, function(err, res) {
if (err) throw err;
console.log("文档更新成功");
db.close();
});
});

执行成功后,进入 mongo 管理工具查看数据已修改:



> db.site.find().pretty()
{
    "_id" : ObjectId("5a794e36763eb821b24db854"),
    "name" : "软件开发网",
    "url" : "https://www.mscto.com" // 已修改为 https
}

如果要更新所有符合条的文档数据可以使用 updateMany():

更新多条数据


var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
if (err) throw err;
var dbo = db.db("runoob");
var whereStr = {"type":'en'}; // 查询条件
var updateStr = {$set: { "url" : "https://www.mscto.com" }};
dbo.collection("site").updateMany(whereStr, updateStr, function(err, res) {
if (err) throw err;
console.log(res.result.nModified + " 条文档被更新");
db.close();
});
});

result.nModified 为更新的条数。

删除数据

以下实例将 name 为 “软件开发网” 的数据删除 :

删除一条数据


var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
if (err) throw err;
var dbo = db.db("runoob");
var whereStr = {"name":'软件开发网'}; // 查询条件
dbo.collection("site").deleteOne(whereStr, function(err, obj) {
if (err) throw err;
console.log("文档删除成功");
db.close();
});
});

执行成功后,进入 mongo 管理工具查看数据已删除:



> db.site.find()
>

如果要删除多条语句可以使用 deleteMany() 方法

以下实例将 type 为 en 的所有数据删除 :

删除多条数据


var MongoClient = require('mongodb').MongoClient;