Kur*_*gle 2 mongodb nosql aggregation-framework
嗨,我有以下模型:
{
"_id" : ObjectId("5d65a9c2f62b0d437bedc87b"),
"name" : "dsadasdsadsadsa",
"companyBases" : [
{
"vehicles" : [
{
"_id": "unique1"
},
{
"_id":"unique1"
},
{
"_id":"unique2"
}
],
"_id" : ObjectId("5d65aef598b4734a8d3994b1"),
"name" : "Tech Parking 22",
"__v" : 0
},
{
"vehicles" : [
{
"_id": "unique1"
},
{
"_id":"unique2"
}
],
"_id" : ObjectId("5d65aef598b4734a8d3994b3"),
"name" : "Tech Parking 23",
"__v" : 0
}
],
"__v" : 0
}
Run Code Online (Sandbox Code Playgroud)
我想计算“ companyBases”数组中“ vehicles”数组中的不同对象(“ vehicles”中的“ _id”是不同值)。
在上面的示例中,计数模式应为:
“ unique1”-3, “ unique2”-2
因此,它为整个数组“ companyBases”在“车辆”数组中提供了2个唯一的对象。
因此输出应为:
{
"count": 2
}
Run Code Online (Sandbox Code Playgroud)
以下查询可以解决问题:
db.collection.distinct("companyBases.vehicles._id").length
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |