我在mongodb中有一个名为location的集合。它有领域 位置:
(_id,country,region,city,doctype,name)
可能有多个同名文件(记录)。我想查找所有文档并选择字段
_id,doctype,and name
具有唯一名称。我是mongo db的新手,请帮助我。
答案 0 :(得分:0)
答案 1 :(得分:0)
执行map reduce以计算多个名称:
db.collection.mapReduce(
function(){emit(this.name);},
function(key,values){
sum=0;
for(var i=0;i<values.length;i++){
sum+=values[i];
}
return sum;
},
{out:"count_per_name"}
);
这将创建一个名为“count_per_name”的集合。查询以查找计数大于1的名称。
答案 2 :(得分:0)
您希望将.aggregate
功能与$group
运算符一起使用:
db.collection.aggregate([
{ "$group": {
"_id": {
"_id": "$_id",
"doctype": " $doctype",
"name": "$name"
}
}}
])
这类似于SQL“GROUP”运算符。有关更多示例,请参阅MongoDB手册中的SQL TO Aggregation mapping。