我如何在 mongo 集合中找到重复的字段。
我想检查是否有任何“名称”字段重复。
{ "name" : "ksqn291", "__v" : 0, "_id" : ObjectId("540f346c3e7fc1054ffa7086"), "channel" : "Sales" }
非常感谢!
使用聚合和name获取:name``count > 1
name
name``count > 1
db.collection.aggregate([ {"$group" : { "_id": "$name", "count": { "$sum": 1 } } }, {"$match": {"_id" :{ "$ne" : null } , "count" : {"$gt": 1} } }, {"$project": {"name" : "$_id", "_id" : 0} } ]);
按重复次数最多到最少对结果进行排序:
db.collection.aggregate([ {"$group" : { "_id": "$name", "count": { "$sum": 1 } } }, {"$match": {"_id" :{ "$ne" : null } , "count" : {"$gt": 1} } }, {"$sort": {"count" : -1} }, {"$project": {"name" : "$_id", "_id" : 0} } ]);
要与“name”以外的其他列名一起使用,请将“ $name ”更改为“ $column_name ”