使用聚合将 mongodb 个数组合并到一个数组中
Merge mongodb arrays in one array with aggregation
我要显示以下结果
[
{
"MergedTabs": [1,2,3,4,5,6],
"name": "John"
}
]
来自以下合集
[
{
"name":"John",
"tab":[1,2,3]
},
{
"name":"John",
"tab":[4,5,6]
}
]
我尝试了下面的查询,但没有显示我想要的内容
db.collection.aggregate([
{
"$group": {
"_id": "$name",
"MergedTabs": {
"$push": "$tab"
}
}
},
{
"$project": {
"name": "$_id",
"MergedTabs": 1
}
}
])
有什么解决办法吗?
谢谢
db.collection.aggregate([
{
$unwind: "$tab"
},
{
$group: {
_id: "$name",
mergedTab: {
$push: "$tab"
}
}
},
{
$project: {
name: "$_id",
mergedTab: 1,
_id: "$$REMOVE"
}
}
])
我要显示以下结果
[
{
"MergedTabs": [1,2,3,4,5,6],
"name": "John"
}
]
来自以下合集
[
{
"name":"John",
"tab":[1,2,3]
},
{
"name":"John",
"tab":[4,5,6]
}
]
我尝试了下面的查询,但没有显示我想要的内容
db.collection.aggregate([
{
"$group": {
"_id": "$name",
"MergedTabs": {
"$push": "$tab"
}
}
},
{
"$project": {
"name": "$_id",
"MergedTabs": 1
}
}
])
有什么解决办法吗? 谢谢
db.collection.aggregate([
{
$unwind: "$tab"
},
{
$group: {
_id: "$name",
mergedTab: {
$push: "$tab"
}
}
},
{
$project: {
name: "$_id",
mergedTab: 1,
_id: "$$REMOVE"
}
}
])