首页 > 解决方案 > Node.js MongoDB报错:更新操作文档必须包含原子操作符

问题描述

错误是:更新操作文档必须包含原子操作符。

db.get().collection('users').updateOne(query, newvalues, function (err, result) {
    cb(err,result)
  })

我已经使用了 $set 运算符。我刚刚在控制台上打印了查询和新值,但我找不到任何错误。

query: { username: 'macarra' }
newvalues: { $set: {name: "Mojo Picon",email: "mako@gmail.es"} }

标签: node.jsmongodb

解决方案


如果您有具有新值的对象:

var obj = {
   name: "Mojo Picon",
   email: "mako@gmail.es"
}

要构建 updateOne 方法所需的 newvalues 对象,您需要:

var newvalues = {
   $set: obj
}

推荐阅读