python mongodb选择

python mongodb选择,python,mongodb,pymongo,Python,Mongodb,Pymongo,我在mongodb中有以下数据 domain1 url1 level processed domain1 url2 level processed domain1 url3 level processed domain1 url4 level processed domain2 url5 level processed domain2 url6 level processed domain2 url7 level processed domain2 url8 level processed do

我在mongodb中有以下数据

domain1 url1 level processed
domain1 url2 level processed
domain1 url3 level processed
domain1 url4 level processed
domain2 url5 level processed
domain2 url6 level processed
domain2 url7 level processed
domain2 url8 level processed
domain3 url9 level processed
domain3 url10 level processed
domain3 url11 level processed
domain3 url12 level processed
level
是一个整数,
processed
是一个布尔标志。每次我只需要选择按级别排序的每个域的一个文档。第一个查询应该返回

domain1 url1 level processed
domain2 url5 level processed
domain3 url9 level processed
在mongodb中最快的方法是什么?

您可以使用聚合:

db.stmp.aggregate( {$sort: {domain: 1}}, 
                   {$group: {_id: '$domain', 
                             url: {$first: '$url'}, 
                             level: {$first: '$level'}, 
                             processed: {$first: '$processed'}})

如果您按排序字段(域)创建索引,或者在$sort之前放置$match(并为其编制索引)-这将很快完成…

Pelase重新格式化您的帖子,现在完全无法读取。似乎map/reduce可以在这里完成这项工作。我不确定聚合框架是否能够做到这一点。