我在MongodB中插入以下记录
{
"_class" : "mkcl.os.transformer.PayloadObject",
"_id" : ObjectId("53763e6fe4b00e612650c18c"),
"dataMap" : {
"gpsLocation" : "Latitude: 18.6099243, Longitude:73.7710601,Altitude:0.0",
"85" : "Prahlad Singh",
"86" : "25",
"88" : "16/05/14",
"92" : "",
"89" : "Male",
"91" : "Single",
"87" : "Pune",
"90" : "Employement"
},
"formId" : NumberLong(22),
"imageUrls" : {},
"isDeleted" : false
}
有很多这样的记录。现在,我想要基于键86,89和90的不同记录。
我正在使用查询db.payloadObject.distinct('dataMap.86'),它正在返回基于值键的不同记录 - 86。我不了解如何根据这些条件获取值。
答案 0 :(得分:3)
使用聚合可以返回不同的复合键,例如
db.payloadObject.aggregate([{
$group : {
_id : {
86 : "$dataMap.86",
89 : "$dataMap.89",
90 : "$dataMap.90",
}
}
}]);