更新Mongo,但不覆盖当前数据,只需附加到它

时间:2016-11-28 19:56:07

标签: node.js mongodb mongoose

我需要添加Mongo中的项目列表,如果我有

items:{item: "apple"}

我将使用什么来在对象中添加另一个项而不是更改该初始对象?所以我最终可以。

items: {item: "apple"},{item:"orange"},{item:"blueberry"}

我可以使用findOneAndUpdate吗?或者这会覆盖原始数据。我很难在文件中找到区别。

最后,使用什么方法来更新和覆盖以及用于附加到对象和数组的内容?

1 个答案:

答案 0 :(得分:0)

您可以使用$addToSet运算符。

例如:

db.yourCollection.update( 
  { _id: 1 }, 
  { $addToSet: { items: {item : "orange" } } }
)

代码中心会将item : "orange"添加到items

文档的id=1列表中