添加到子文档数组

时间:2015-02-22 19:55:34

标签: mongodb mongoose

我想知道Mongoose是否有办法通过添加到现有的子集合来同时对所有文档中的子集合进行批量更新。

我有以下文档结构:

{
 name:'',
 type:'',
 children:[]
}

//the documents have existing children.
myDocumentModel.update({},{children:newChildren}, { multi: true }).exec();

上面的代码并不是我想要的。它会更新所有文档,但会覆盖子项而不是将新子项添加到现有子项中。 有没有线索我可以给Mongoose制作更新添加剂而不是替换原来的孩子?

1 个答案:

答案 0 :(得分:1)

您可以使用$push运算符和$each修饰符将元素数组添加到数组字段中:

myDocumentModel.update({},
    { $push: { children: { $each: newChildren } } },
    { multi: true }
).exec();