我是 mongodb 和 Nodejs 的新手,我想知道我的代码有什么问题,
我在使用 updateOne 时遇到更新操作文档必须包含原子运算符,
这是我的代码,
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://url-this-is-working";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbase = db.db("SampleNodeDB");
var myquery = { address: "Valley 345" };
var newvalues = { name: "Mickey", address: "Canyon 123" };
dbase.collection("customers").updateOne(myquery, newvalues, function(err, res) {
if (err) throw erre
console.log("1 document updated");
db.close();
});
});
谁能帮我找出并纠正问题,
谢谢!
最佳答案
您尝试使用查询更新为新值
var newvalues = { name: "Mickey", address: "Canyon 123" };
但您应该添加 $set
运算符,这是一个原子运算符,如 $inc、$push 等,使其成为更新查询。像这样;
var newvalues = { $set: {name: "Mickey", address: "Canyon 123"} };
关于node.js - NodeJS MongoDB - 如何修复更新操作文档必须包含原子运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48108996/