【问题标题】:Mongoose findOneAndUpdate not working猫鼬 findOneAndUpdate 不工作
【发布时间】:2013-02-13 21:57:16
【问题描述】:

我正在尝试在 mongoose 中使用“findOneAndUpdate”,而我发送的更新的 JS 对象没有保存到 mongo。保存时我没有收到错误,但我确实为更新的对象返回了一个空值。有什么想法我可能做错了吗?此示例尝试更新存储在 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.
});

【问题讨论】:

    标签: node.js mongoose


    【解决方案1】:

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

    【讨论】:

    • 显然,如果您的文档有更多字段,它们都会被删除。我确信这是可以以某种方式避免的事情
    • @SergioMajluf 您可以使用 $set 仅更新必填字段。
    • 返回你的if(err) 或者如果你正在使用promises则拒绝
    猜你喜欢
    • 2015-09-15
    • 2020-11-13
    • 2019-11-10
    • 2021-09-25
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2016-06-20
    • 2018-07-15
    相关资源
    最近更新 更多