MongoDB具有一些额外数据的独特价值

时间:2017-07-12 18:24:37

标签: mongodb mongodb-query

我有一个相当大的集合,其中几个文档将共享相同的组ID。我想提取所有唯一的组ID,其中该组中的FIRST文档是组ID的表示。

db.INTUSERADDR.distinct("groupId")

将收集所有唯一身份证件就好了。结果如下:

[
    ObjectId("596641671f8f9c10b02f8c6c"), 
    ObjectId("596641681f8f9c10b02f8c97"), 
    ObjectId("5966416a1f8f9c10b02f8e78"), 
    ObjectId("5966416a1f8f9c10b02f8e99"), 
    ObjectId("5966416a1f8f9c10b02f8e9f"), 
    ObjectId("5966416a1f8f9c10b02f8eae"), 
    ObjectId("5966416b1f8f9c10b02f8ee8")
]

没有进行额外的查询,我所看到的只是ID。所以如果我的数据集看起来像这样:

{
    "user":"bob sagget",
    "badge":0,
    "groupId":ObjectId("596641671f8f9c10b02f8c6c")
},
{
    "user":"tourettes guy",
    "badge":0,
    "groupId":ObjectId("596641671f8f9c10b02f8c6c")
},
{
    "user":"joe smoe",
    "badge":0,
    "groupId":ObjectId("596641681f8f9c10b02f8c97")
},
{
    "user":"rick astley",
    "badge":0,
    "groupId":ObjectId("596641681f8f9c10b02f8c97")
}

我希望我的查询返回在该组中找到的第一个文档,bob sagget和组ID。

这样的事情:

{
    [
        "user":"bob sagget",
        "groupId":ObjectId("596641671f8f9c10b02f8c6c")
    ],
    [
        "user":"joe smoe",
        "groupId":ObjectId("596641681f8f9c10b02f8c97")
    ],
    ....and so on
}

0 个答案:

没有答案