Mongoose findOneAndUpdate无效

los*_*ion 32 mongoose node.js

我试图在mongoose中使用'findOneAndUpdate',我发送的更新的JS对象没有保存到mongo.保存时我没有收到错误,但是我确实为更新的对象取回了null.我有什么想法可能做错了吗?这个示例是尝试更新存储在mongo中的整个对象,即覆盖名称对象.

var query = {"_id": id};
var update = {name: {first: 'john', last: 'smith'}};
var options = {new: true};
People.findOneAndUpdate(query, update, options, function(err, person) {
  if (err) {
    console.log('got an error');
  }

  // at this point person is null.
});
Run Code Online (Sandbox Code Playgroud)

los*_*ion 27

原来我正在搜索的id不存在,因此null返回.按预期工作!

  • @SergioMajluf您可以使用$ set仅更新必填字段. (7认同)