Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Mongodb

एक प्रमुख क्षेत्र द्वारा एक MongoDB संग्रह में सभी डुप्लिकेट दस्तावेज़ खोजें?

<घंटा/>

एक प्रमुख फ़ील्ड द्वारा MongoDB संग्रह में सभी डुप्लिकेट दस्तावेज़ खोजने के लिए समग्र ढांचे का उपयोग करें।

अवधारणा को समझने के लिए, आइए हम दस्तावेज़ के साथ एक संग्रह बनाते हैं। दस्तावेज़ के साथ संग्रह बनाने की क्वेरी इस प्रकार है -

> db.findDuplicateByKeyDemo.insertOne({"StudentId":1,"StudentName":"John"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7f5b168d10a061296a3c3a")
}
> db.findDuplicateByKeyDemo.insertOne({"StudentId":2,"StudentName":"Carol"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7f5b1f8d10a061296a3c3b")
}
> db.findDuplicateByKeyDemo.insertOne({"StudentId":3,"StudentName":"Carol"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7f5b248d10a061296a3c3c")
}
> db.findDuplicateByKeyDemo.insertOne({"StudentId":4,"StudentName":"John"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7f5b2d8d10a061296a3c3d")
}
> db.findDuplicateByKeyDemo.insertOne({"StudentId":5,"StudentName":"Sam"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7f5b398d10a061296a3c3e")
}
> db.findDuplicateByKeyDemo.insertOne({"StudentId":6,"StudentName":"Carol"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7f5b438d10a061296a3c3f")
}

संग्रह से सभी दस्तावेज़ों को ढूँढें () विधि की सहायता से प्रदर्शित करें। क्वेरी इस प्रकार है -

> db.findDuplicateByKeyDemo.find().pretty();

निम्न आउटपुट है -

{
   "_id" : ObjectId("5c7f5b168d10a061296a3c3a"),
   "StudentId" : 1,
   "StudentName" : "John"
}
{
   "_id" : ObjectId("5c7f5b1f8d10a061296a3c3b"),
   "StudentId" : 2,
   "StudentName" : "Carol"
}
{
   "_id" : ObjectId("5c7f5b248d10a061296a3c3c"),
   "StudentId" : 3,
   "StudentName" : "Carol"
}
{
   "_id" : ObjectId("5c7f5b2d8d10a061296a3c3d"),
   "StudentId" : 4,
   "StudentName" : "John"
}
{
   "_id" : ObjectId("5c7f5b398d10a061296a3c3e"),
   "StudentId" : 5,
   "StudentName" : "Sam"
}
{
   "_id" : ObjectId("5c7f5b438d10a061296a3c3f"),
   "StudentId" : 6,
   "StudentName" : "Carol"
}

यहां सभी डुप्लीकेट दस्तावेज़ों को खोजने की क्वेरी है” -

> db.findDuplicateByKeyDemo.aggregate([
   ... { $group: {
      ... _id: { StudentName: "$StudentName" },
      ... UIDS: { $addToSet: "$_id" },
      ... COUNTER: { $sum: 1 }
   ... } },
   ... { $match: {
      ... COUNTER: { $gte: 2 }
   ... } },
   ... { $sort : { COUNTER : -1} },
   ... { $limit : 10 }
... ]).pretty();

डुप्लिकेट रिकॉर्ड प्रदर्शित करने वाला आउटपुट निम्न है। यहां छात्र 'कैरोल' 3 बार आता है, जबकि जॉन 2 बार -

निम्न आउटपुट है -

{
   "_id" : {
      "StudentName" : "Carol"
   },
   "UIDS" : [
      ObjectId("5c7f5b248d10a061296a3c3c"),
      ObjectId("5c7f5b438d10a061296a3c3f"),
      ObjectId("5c7f5b1f8d10a061296a3c3b")
   ],
   "COUNTER" : 3
}
{
   "_id" : {
      "StudentName" : "John"
   },
   "UIDS" : [
      ObjectId("5c7f5b2d8d10a061296a3c3d"),
      ObjectId("5c7f5b168d10a061296a3c3a")
   ],
   "COUNTER" : 2
}

  1. MongoDB में फ़ील्ड द्वारा समूहीकृत दस्तावेज़ों का चयन करें?

    MongoDB में फ़ील्ड द्वारा समूहीकृत दस्तावेज़ों का चयन करने के लिए, $प्रोजेक्ट के साथ $group का उपयोग करें। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo540.insertOne({id:1,"Name":"Chris","CountryName":"US"});{    "acknowledged"

  1. MongoDB संग्रह में सभी दस्तावेज़ों में एक नया फ़ील्ड कैसे जोड़ें

    एक नया क्षेत्र जोड़ने के लिए, MongoDB में $addFields का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo712.insertOne({"Name":"John"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea85f675d33e20ed1097b82&qu

  1. एक सूत्र के साथ संग्रह में दस्तावेजों के प्रत्येक क्षेत्र को अद्यतन करने के लिए MongoDB क्वेरी?

    संग्रह में दस्तावेज़ों के प्रत्येक फ़ील्ड को सूत्र के साथ अद्यतन करने के लिए, MongoDB अद्यतन () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo749.insertOne({"details":[{"id":1,a:10},{"id":2,a:5},{"id":3,a:20}]}); {    "ackno