mongodb查询:如何获取唯一条目

时间:2012-06-14 07:12:05

标签: mongodb

我有,比方说100行。在每个集合中,都有一个“id”字段。 让我们说100行,20行的'id'为10,30行的'id'为11,50行的'id'为12。 我的查询应该返回: 10 - 20(计数) 11 - 30(计数) 12 - 50(计数)。

如何撰写此查询?

1 个答案:

答案 0 :(得分:2)

如果您的收藏名为“foo”,则以下内容将有效。

> db.foo.group({
    key: {id: true},
    initial: {count: 0},
    reduce: function(doc, aggregator) {
    aggregator.count += 1;
  }
})

它将产生如下结果:

[
{
    "id" : 10,
    "count" : 20
},
{
    "id" : 11,
    "count" : 30
},
{
    "id" : 12,
    "count" : 50
}
]

有关group()的详细信息,以及一些示例,例如:http://www.mongodb.org/display/DOCS/Aggregation

新的聚合框架实质上更为复杂。你可以在这里找到它:http://docs.mongodb.org/manual/applications/aggregation/