node.js - NodeJS MongoDB - 如何修复更新操作文档必须包含原子运算符?

标签 node.js mongodb

我是 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/

相关文章:

Node.js 工作线程共享对象/存储

java - 如何用Java识别MongoDB中的文档

javascript - 在 JavaScript 中美化/去除空白

javascript - 如何将内部回调的结果传递到其父函数中?

node.js - Node postgres 池管理

java - MongoDB + Java : no $db stored with DbRef?

mongodb - fs.files 中的别名数组有什么用?

node.js - Node js + mongodb + 计划通知

node.js - 在NodeJS中使用带有大量数据的Datatable时搜索错误

mongodb - 在 mongoDB 文档中检索空数组或 null