mongoose更新对象没有“drop”

时间:2016-03-25 23:28:39

标签: node.js mongoose

我有猫鼬和猫咪的问题吗?更新文件。

当我更新集合中的对象时,它会“清除/删除”该对象,并使用更新对象填充它。但我需要“添加/合并”对象。

例如:

Model.update({name: "hello"}, {
  name: "hello",
  datum: {
    updated: Date.now(),
    //added: Date.now()
  }
}, function(err, data){
  
  console.log(err, data);
  
});

这用on字段替换我的“datum”对象:“更新。 “已添加”字段已删除。为什么? 如何更新嵌套的“基准”对象?

1 个答案:

答案 0 :(得分:2)

您需要使用$set运算符。如果您没有指定它,则与您的查询文档(第一个参数)匹配的第一个文档将被您的更新文档(第二个参数)替换:

Model.update({name: "hello"}, {
  $set: {
      "datum.updated": Date.now()
  }
}, function(err, data){
    console.log(err, data);
});