例如现有数据结构:
{
id: 'a:0',
msg: []
}
msg
数组长度最大为10
,超出的时候,新建id='a:1'
后再向msg
追加数据
对于如何在 MongoDB 中动态追加数组元素的问题,有多种方法可以实现。这里提供一种使用 MongoDB 聚合管道中的 $pushAll
操作符的方法,以实现动态追加。
假设你有一个名为 messages
的集合,其中包含以下文档:
{
_id: ObjectId("5d416c2820a9945466b00000d"),
id: 'a:0',
msg: [1, 2, 3, 4, 5]
}
要向 msg
数组中追加元素,可以使用以下聚合管道:
db.messages.aggregate([
{
$addFields: {
msg: { $concatArrays: [ "$msg", [6, 7, 8, 9, 10] ] }
}
}
])
这将创建一个新的字段 msg
,其值为 msg
数组与新元素 [6, 7, 8, 9, 10]
的组合。注意,这里的 [6, 7, 8, 9, 10]
是你要追加的元素。如果需要追加更多的元素,只需添加更多的数组即可。
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
8 回答3.6k 阅读
3 回答2.5k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
这个是node里的,用$push操作符: