微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js – NodeJS 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,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"} };

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐