2014-11-03 78 views
0

重複的記錄,我在下面插入記錄MongoDB中如何找到在蒙戈DB

{ 
    "_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", 
     } 
    } 
}]);