【问题标题】:How to find distinct records in mongo db如何在mongodb中找到不同的记录
【发布时间】:2014-11-03 08:56:41
【问题描述】:

我在 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') ,它根据值 key - 86 返回不同的记录。我不明白如何根据这些条件获取价值。

【问题讨论】:

    标签: mongodb distinct record


    【解决方案1】:

    使用聚合可以返回不同的复合键,比如

    db.payloadObject.aggregate([{
        $group : {
            _id : {
                86 : "$dataMap.86", 
                89 : "$dataMap.89", 
                90 : "$dataMap.90", 
            }
        }
    }]); 
    

    【讨论】:

      猜你喜欢
      • 2011-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-07
      相关资源
      最近更新 更多