2014-11-03 6 views
0

Я вставив ниже записи в 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. Я не понимаю, как извлечь значение на основе этих условий.

ответ

3

Используйте агрегат может возвращать различные ключи составные, как

db.payloadObject.aggregate([{ 
    $group : { 
     _id : { 
      86 : "$dataMap.86", 
      89 : "$dataMap.89", 
      90 : "$dataMap.90", 
     } 
    } 
}]); 
Смежные вопросы