gpt4 book ai didi

javascript - 连接集合中所有元素的数组[MongoDB]

转载 作者:可可西里 更新时间:2023-11-01 09:32:45 26 4
gpt4 key购买 nike

抱歉,我没有很好地获取 MongoDB 聚合。我怎样才能通过聚合实现这一点:

[
{array: [1,2,3] },
{array: [4,5,6] },
{array: [7,8,9] }
]


desired result:
[1,2,3,4,5,6,7,8,9]

如果我将文档视为普通对象而不是使用 MongoDB 聚合,性能会发生变化吗?

最佳答案

聚合总是比使用某些语言代码更好的选择,这就是为什么数据库提供这种类型的救济以一次性获得结果。

db.collection.aggregate([
{ "$group": {
"_id": null,
"data": { "$push": "$array" }
}},
{ "$project": {
"_id": 0,
"data": {
"$reduce": {
"input": "$data",
"initialValue": [],
"in": { "$concatArrays": ["$$this", "$$value"] }
}
}
}}
])

这里唯一需要注意的是单个文档返回结果的大小不应超过 16MB Bson 限制。更多可以学习here

关于javascript - 连接集合中所有元素的数组[MongoDB],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56450138/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com