একটি ক্ষেত্রের ডুপ্লিকেট মান পেতে aggregate() পদ্ধতি ব্যবহার করুন। আসুন প্রথমে নিম্নলিখিত ক্যোয়ারী ব্যবহার করে ডকুমেন্ট সহ একটি সংগ্রহ তৈরি করি
> db.findAllNonDistinctDemo.insertOne({"UserName":"John","UserAge":28});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c995078863d6ffd454bb647")
}
> db.findAllNonDistinctDemo.insertOne({"UserName":"Larry","UserAge":21});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c995081863d6ffd454bb648")
}
> db.findAllNonDistinctDemo.insertOne({"UserName":"Larry","UserAge":23});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c995089863d6ffd454bb649")
}
> db.findAllNonDistinctDemo.insertOne({"UserName":"David","UserAge":22});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c995093863d6ffd454bb64a")
}
> db.findAllNonDistinctDemo.insertOne({"UserName":"John","UserAge":26});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c99509d863d6ffd454bb64b")
}
> db.findAllNonDistinctDemo.insertOne({"UserName":"Robert","UserAge":24});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9950a7863d6ffd454bb64c")
}
> db.findAllNonDistinctDemo.insertOne({"UserName":"Robert","UserAge":25});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9950b1863d6ffd454bb64d")
}
> db.findAllNonDistinctDemo.insertOne({"UserName":"Mike","UserAge":29});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9950bc863d6ffd454bb64e")
} Find() পদ্ধতি
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করার জন্য নিম্নলিখিত প্রশ্ন রয়েছে> db.findAllNonDistinctDemo.find().pretty();
এটি নিম্নলিখিত আউটপুট তৈরি করবে
{
"_id" : ObjectId("5c995078863d6ffd454bb647"),
"UserName" : "John",
"UserAge" : 28
}
{
"_id" : ObjectId("5c995081863d6ffd454bb648"),
"UserName" : "Larry",
"UserAge" : 21
}
{
"_id" : ObjectId("5c995089863d6ffd454bb649"),
"UserName" : "Larry",
"UserAge" : 23
}
{
"_id" : ObjectId("5c995093863d6ffd454bb64a"),
"UserName" : "David",
"UserAge" : 22
}
{
"_id" : ObjectId("5c99509d863d6ffd454bb64b"),
"UserName" : "John",
"UserAge" : 26
}
{
"_id" : ObjectId("5c9950a7863d6ffd454bb64c"),
"UserName" : "Robert",
"UserAge" : 24
}
{
"_id" : ObjectId("5c9950b1863d6ffd454bb64d"),
"UserName" : "Robert",
"UserAge" : 25
}
{
"_id" : ObjectId("5c9950bc863d6ffd454bb64e"),
"UserName" : "Mike",
"UserAge" : 29
} MongoDB
-এ একটি ফিল্ডের সমস্ত ডুপ্লিকেট মানগুলি খুঁজে বের করার জন্য নিচের প্রশ্নটি রয়েছে> db.findAllNonDistinctDemo.aggregate([
... { "$group": {
... "_id": "$UserName",
... "Counter": { "$sum": 1 }
... }},
... { "$match": {
... "Counter": { "$gt": 1 }
... }}
... ]).pretty(); এটি নিম্নলিখিত আউটপুট তৈরি করবে। সব ডুপ্লিকেট রেকর্ড এখন দৃশ্যমান হয়
{ "_id" : "Robert", "Counter" : 2 }
{ "_id" : "Larry", "Counter" : 2 }
{ "_id" : "John", "Counter" : 2 }