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

MongoDB एग्रीगेशन में $unwind और $group का उपयोग करके आंतरिक सरणी में डुप्लिकेट जांचना

MongoDB में नेस्टेड सरणी फ़ील्ड में डुप्लिकेट पहचानना

गहरी नेस्टेड सरणी में किसी फ़ील्ड के डुप्लिकेट मान ढूंढने के लिए: 1) $unwind से सरणी को समतल करें, 2) $group द्वारा गिनें, 3) $match से गिनती > 1 फ़िल्टर करें।

नमूना डेटा: 2-स्तरीय नेस्टिंग

> db.demo347.insertOne({details: {details1: [{Name: "Chris", Age: 21}]}});
{ "acknowledged": true, "insertedId": ObjectId("5e5532eaf8647eb59e5620af") }
> db.demo347.insertOne({details: {details1: [{Name: "David", Age: 22}]}});
{ "acknowledged": true, "insertedId": ObjectId("5e55330af8647eb59e5620b0") }
> db.demo347.insertOne({details: {details1: [{Name: "Chris", Age: 21}]}});  // डुप्लिकेट Chris
{ "acknowledged": true, "insertedId": ObjectId("5e55331cf8647eb59e5620b1") }

एग्रीगेशन: डुप्लिकेट Name ढूंढना

> db.demo347.aggregate([
    {$unwind: "$details"},
    {$unwind: "$details.details1"},
    {$group: {_id: "$details.details1.Name", count: {$sum: 1}}},
    {$match: {_id: {$ne: null}, count: {$gt: 1}}}
]);

परिणाम

{ "_id": "Chris", "count": 2 }

"Chris" दो बार आता है (दो अलग-अलग दस्तावेज़ों में)। $unwind प्रत्येक स्तर को समतल करता है, $group Name द्वारा गिनता है, $match केवल गिनती > 1 रखता है। यह पैटर्न किसी भी गहराई पर डुप्लिकेट पहचान के लिए काम करता है।

  1. - MongoDB में एकल फ़ील्ड के लिए क्वेरी

    MongoDB में find() से केवल एक फ़ील्ड चुनें एकल फ़ील्ड के लिए, find() का उपयोग करें। आइए पहले दस्तावेज़ों के साथ एक संग्रह बनाते हैं: > db.demo10.insertOne({StudentId:101,StudentName:Chris}); { acknowledged : true, insertedId : ObjectId(5e0f68a7d7df943a7cec4f9b) } > db.demo10.insertOne({Student

  1. - MongoDB में $concatArrays का उपयोग करके सरणियों को जोड़ना

    MongoDB एग्रीगेशन में सरणी संयोजन $concatArrays ऑपरेटर एग्रीगेशन पाइपलाइन में दो या दो से अधिक सरणियों को जोड़कर एक नई सरणी बनाता है। यह $project स्टेज के भीतर उपयोग किया जाता है। नमूना डेटा > db.demo14.insertOne({ ListOfStudent: [Carol, Mike, Sam], ListOfTeacher: [Robert, David] }); { a

  1. - MongoDB में सरणी में डुप्लिकेट की जांच कैसे करें?

    सरणी में डुप्लिकेट जांचने के लिए MongoDB में aggregate() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo756.insertOne({SubjectName:[MySQL,MongoDB,Java]}); { acknowledged : true, insertedId : ObjectId(5eb01e0d5637cd592b2a4add) } > db.demo756.insertOne({SubjectName:[MongoDB,MySQL,MongoDB,C,C