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

MongoDB में डॉट नोटेशन का उपयोग करके सरणी मानों तक पहुंचना और विशिष्ट दस्तावेज़ प्राप्त करना

MongoDB में डॉट नोटेशन: नेस्टेड सरणी फ़ील्ड्स क्वेरी करना

एम्बेडेड दस्तावेज़ों की सरणी के अंदर फ़ील्ड्स को क्वेरी करने के लिए डॉट नोटेशन (arrayField.embeddedField) का उपयोग करें। MongoDB स्वचालित रूप से सरणी को "अनवाइंड" करता है और जांचता है कि क्या कोई भी तत्व शर्त पूरी करता है।

नमूना डेटा

> db.demo326.insertOne({
    id: 101,
    "ProductDetails": [
        {"ProductId": "Prod-101", "ProductName": "Product-1"},
        {"ProductId": "Prod-102", "ProductName": "Product-2"}
    ]
});
{ "acknowledged": true, "insertedId": ObjectId("5e516751f8647eb59e562074") }

> db.demo326.insertOne({
    id: 103,
    "ProductDetails": [
        {"ProductId": "Prod-104", "ProductName": "Product-5"},
        {"ProductId": "Prod-105", "ProductName": "Product-6"}
    ]
});
{ "acknowledged": true, "insertedId": ObjectId("5e516771f8647eb59e562075") }

क्वेरी: ProductId "Prod-104" वाले दस्तावेज़ ढूंढें

> db.demo326.find({"ProductDetails.ProductId": "Prod-104"});

परिणाम

{ "_id": ObjectId("5e516771f8647eb59e562075"), "id": 103, "ProductDetails": [ {"ProductId": "Prod-104", "ProductName": "Product-5"}, {"ProductId": "Prod-105", "ProductName": "Product-6"} ] }

दूसरा दस्तावेज़ वापस किया गया क्योंकि उसकी ProductDetails सरणी में एक तत्व है जिसका ProductId "Prod-104" है। महत्वपूर्ण: यह पूरे दस्तावेज़ को लौटाता है, न कि केवल मिलान वाला सरणी तत्व। केवल मिलान वाले तत्व को प्राप्त करने के लिए $elemMatch प्रोजेक्शन या एग्रीगेशन $filter का उपयोग करें।

  1. - MongoDB कलेक्शन को ऐरे वैल्यू द्वारा सॉर्ट करें

    MongoDB कलेक्शन को ऐरे वैल्यू द्वारा सॉर्ट करने के लिए, $sort के साथ aggregate() का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo577.insertOne({ student: { details: [ { Name:Chris, Score:45 }, { Name:Bob, Score:33 }, { Name:Davi

  1. - MongoDB डॉक्यूमेंट से विशिष्ट मान फ़िल्टर करें

    विशिष्ट मान फ़िल्टर करने के लिए MongoDB में $filter का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo751.insertOne( { _id: 101, details: [ { Name: Robert, id:110,Age:21}, { Name: Rae, id:110,Age:22}, {Name: Ralph, id:116,Age:23} ] } ); { acknowledged : true, insertedId : 101 } find() से सभी डॉक

  1. - MongoDB में सरणी क्वेरी करके विशिष्ट मान प्राप्त करें

    सरणी से विशिष्ट मान प्राप्त करने के लिए aggregate() के साथ $project का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo761.insertOne( { details: [ { student: { FullName: Chris Brown } } ] } ); { acknowledged : true, insertedId : ObjectId(5eb034d15637cd592b2a4af1) } > db.demo761.insertOne( { de