首页 > 解决方案 > Mongoose 使用 FindAndUpdate 合并数组

问题描述

我想将一个数组附加到 mongoose 中的现有数组中Schema.findByIdAndUpdate(...)。它应该看起来像这样:

Schema.findByIdAndUpdate(id, { $merge: { existingArray: otherArray } }, (...))

例子

如果我在数据库中有一个如下所示的文档:

{
    ids: [1,2,3,4]
    ...
}

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

{
    ids: [1,2,3,4,5,6,7,8]
    ...
}

在这个数组的帮助下:

[5,6,7,8]

有适合我意图的运营商吗?

标签: node.jsmongodbmongoose

解决方案


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

像这样的东西

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

推荐阅读