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"} };

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...