Mongoose 使用 FindAndUpdate 合并数组

flo*_*olu 4 mongoose mongodb node.js

我想通过 将一个数组附加到 mongoose 中的现有数组Schema.findByIdAndUpdate(...)。它应该是这样的:

Schema.findByIdAndUpdate(id, { $merge: { existingArray: otherArray } }, (...))
Run Code Online (Sandbox Code Playgroud)

例子

如果我在数据库中有一个看起来像这样的文档:

{
    ids: [1,2,3,4]
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想更新这个文件看起来像这样:

{
    ids: [1,2,3,4,5,6,7,8]
    ...
}
Run Code Online (Sandbox Code Playgroud)

在这个数组的帮助下:

[5,6,7,8]
Run Code Online (Sandbox Code Playgroud)

是否有适合我的意图的运算符?

Ash*_*shh 7

您可以将$push运算符与$each修饰符一起使用。

像这样的东西

db.collection.findOneAndUpdate(
  { "_id" : id },
  { "$push": { "ids": { "$each": [5,6,7,8] }}}
)
Run Code Online (Sandbox Code Playgroud)