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

MongoDB में ऐरे के अंदर कई शर्तों से मिलान कैसे करें

$elemMatch ऑपरेटर के साथ ऐरे एलिमेंट्स पर एकाधिक शर्तें लागू करें

जब आपको किसी ऐरे के अंदर ऐसे एलिमेंट्स ढूंढने हों जो एक साथ कई शर्तों को पूरा करते हों, तो $elemMatch ऑपरेटर का उपयोग करें। यह सुनिश्चित करता है कि ऐरे का एक ही एलिमेंट सभी निर्दिष्ट मापदंडों से मेल खाए।

उदाहरण: संग्रह बनाना

> db.matchMultipleCriteriaDemo.insertOne({
    "EmployeeDetails": [
        {"EmployeeName": "Chris", "Salary": 45000, "Language": "Java"},
        {"EmployeeName": "Robert", "Salary": 41000, "Language": "Python"}
    ]
});
{ "acknowledged": true, "insertedId": ObjectId("5cea3bf0ef71edecf6a1f689") }
> db.matchMultipleCriteriaDemo.insertOne({
    "EmployeeDetails": [
        {"EmployeeName": "David", "Salary": 55000, "Language": "C++"},
        {"EmployeeName": "Bob", "Salary": 61000, "Language": "C"}
    ]
});
{ "acknowledged": true, "insertedId": ObjectId("5cea3bf1ef71edecf6a1f68a") }

सभी डॉक्यूमेंट्स देखना

> db.matchMultipleCriteriaDemo.find().pretty();
{
    "_id": ObjectId("5cea3bf0ef71edecf6a1f689"),
    "EmployeeDetails": [
        {"EmployeeName": "Chris", "Salary": 45000, "Language": "Java"},
        {"EmployeeName": "Robert", "Salary": 41000, "Language": "Python"}
    ]
}
{
    "_id": ObjectId("5cea3bf1ef71edecf6a1f68a"),
    "EmployeeDetails": [
        {"EmployeeName": "David", "Salary": 55000, "Language": "C++"},
        {"EmployeeName": "Bob", "Salary": 61000, "Language": "C"}
    ]
}

कई शर्तों से मिलान करने की क्वेरी

यहां हम EmployeeName: "Bob" और Language: "C" दोनों शर्तों को एक ही ऐरे एलिमेंट पर लागू कर रहे हैं:

> db.matchMultipleCriteriaDemo.aggregate({
    "$match": {
        "EmployeeDetails": {
            "$elemMatch": {
                "EmployeeName": "Bob",
                "Language": "C"
            }
        }
    }
}).pretty();

आउटपुट:

{
    "_id": ObjectId("5cea3bf1ef71edecf6a1f68a"),
    "EmployeeDetails": [
        {"EmployeeName": "David", "Salary": 55000, "Language": "C++"},
        {"EmployeeName": "Bob", "Salary": 61000, "Language": "C"}
    ]
}

केवल वही डॉक्यूमेंट वापस आया जिसमें ऐरे का एक एलिमेंट दोनों शर्तों को पूरा करता है।

  1. - MongoDB में ऑब्जेक्ट्स की सरणी के अंदर कई मिलान कैसे खोजें?

    इसके लिए, $and के साथ $regex का उपयोग करें। $and एक या अधिक एक्सप्रेशन की सरणी पर लॉजिकल AND ऑपरेशन करता है और उन दस्तावेज़ों को चुनता है जो सरणी में सभी एक्सप्रेशन को संतुष्ट करते हैं। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo525.insertOne({details:[{Name:Chris,CountryName:US}]}); { ackn

  1. - MongoDB में सरणी मिलान कैसे लागू करें?

    सरणी मिलान के लिए $all का उपयोग करें। $all ऑपरेटर उन दस्तावेज़ों को चुनता है जहां किसी फ़ील्ड का मान एक सरणी है जिसमें सभी निर्दिष्ट तत्व होते हैं। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo668.createIndex({ListOfSubject:1}); { createdCollectionAutomatically : true, numIndexesBefore : 1, n

  1. - MongoDB में सरणी फील्ड के साथ काम करके सभी से मिलान कैसे करें?

    MongoDB में सभी से मिलान करने के लिए $all का उपयोग करें। $all ऑपरेटर उन डॉक्यूमेंट्स को चुनता है जहां फील्ड का मान एक सरणी है जिसमें सभी निर्दिष्ट तत्व होते हैं। आइए एक कलेक्शन बनाते हैं: > db.demo695.insertOne({ListOfValues:[100,200,500,800]}); { acknowledged : true, insertedId : ObjectId(5ea6d