在 MongoDB 中查找重复记录?
您可以使用聚合框架在MongoDB中查找重复记录。为了理解这个概念,让我们用文档创建一个集合。使用文档创建集合的查询如下-
> db.findDuplicateRecordsDemo.insertOne({"StudentFirstName":"John"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8a330293b406bd3df60e01")
}
> db.findDuplicateRecordsDemo.insertOne({"StudentFirstName":"John"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8a330493b406bd3df60e02")
}
> db.findDuplicateRecordsDemo.insertOne({"StudentFirstName":"Carol"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8a330c93b406bd3df60e03")
}
> db.findDuplicateRecordsDemo.insertOne({"StudentFirstName":"Sam"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8a331093b406bd3df60e04")
}
> db.findDuplicateRecordsDemo.insertOne({"StudentFirstName":"Carol"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8a331593b406bd3df60e05")
}
> db.findDuplicateRecordsDemo.insertOne({"StudentFirstName":"Mike"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8a331e93b406bd3df60e06")
}在find()方法的帮助下显示集合中的所有文档。查询如下-
> db.findDuplicateRecordsDemo.find();
以下是输出-
{ "_id" : ObjectId("5c8a330293b406bd3df60e01"), "StudentFirstName" : "John" }
{ "_id" : ObjectId("5c8a330493b406bd3df60e02"), "StudentFirstName" : "John" }
{ "_id" : ObjectId("5c8a330c93b406bd3df60e03"), "StudentFirstName" : "Carol" }
{ "_id" : ObjectId("5c8a331093b406bd3df60e04"), "StudentFirstName" : "Sam" }
{ "_id" : ObjectId("5c8a331593b406bd3df60e05"), "StudentFirstName" : "Carol" }
{ "_id" : ObjectId("5c8a331e93b406bd3df60e06"), "StudentFirstName" : "Mike" }这是在MongoDB中查找重复记录的查询-
> db.findDuplicateRecordsDemo.aggregate(
... {"$group" : { "_id": "$StudentFirstName", "count": { "$sum": 1 } } },
... {"$match": {"_id" :{ "$ne" : null } , "count" : {"$gt": 1} } },
... {"$project": {"StudentFirstName" : "$_id", "_id" : 0} }
... );以下是仅显示重复记录的输出-
{ "StudentFirstName" : "Carol" }
{ "StudentFirstName" : "John" }热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短