我在 mongoDB 中有这样的模式
{
"key":"ru",
"regions":[
{
"name":"moskovskaya",
"cities":[
{
"name":"moskva"
},
{
"name":"tula"
}
]
},
{
"name":"piterskaya",
"cities":[
{
"name":"piter"
},
{
"name":"luga"
}
]
}
]
}
我有一些不同国家的这种模式的文件,
如何从该模式的每个文档中获取所有城市的数组?
最佳答案
运行以下聚合管道:
db.collection.aggregate([
{ "$unwind": "$regions" },
{ "$unwind": "$regions.cities" },
{
"$group": {
"_id": null,
"cities": { "$push": "$regions.cities.name" }
}
}
])
样本输出
{
"result" : [
{
"_id" : null,
"cities" : [
"moskva",
"tula",
"piter",
"luga"
]
}
],
"ok" : 1
}
关于mongodb - 如何从 mongoDB 集合中获取数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38210121/