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

MongoDB में सब-कलेक्शन के लिए $and के बजाय $in ऑपरेटर का उपयोग


MongoDB में दस्तावेज़ प्राप्त करने के लिए $and के बजाय $in ऑपरेटर का उपयोग करना बेहतर होता है। आइए एक संग्रह बनाते हैं:

> db.demo83.insertOne(
... {
...   "Details":[
...     {
...       "Name":"Chris",
...       "Subject":[
...         "MySQL",
...         "MongoDB"
...       ]
...     },
...     {
...       "Name":"David",
...       "Subject":[
...         "Java",
...         "C"
...       ]
...     }
...   ]
... }
... );
{ "acknowledged" : true, "insertedId" : ObjectId("5e2bfd2271bf0181ecc422a3") }
> db.demo83.insertOne(
... {
...   "Details":[
...     {
...       "Name":"Bob",
...       "Subject":[
...         "C++",
...         "Python"
...       ]
...     },
...     {
...       "Name":"John",
...       "Subject":[
...         "Spring",
...         "Hibernate"
...       ]
...     }
...   ]
... }
... );
{ "acknowledged" : true, "insertedId" : ObjectId("5e2bfd4571bf0181ecc422a4") }

सभी दस्तावेज़ देखने के लिए:

> db.demo83.find();

आउटपुट:

{ "_id" : ObjectId("5e2bfd2271bf0181ecc422a3"), "Details" : [
  { "Name" : "Chris", "Subject" : [ "MySQL", "MongoDB" ] },
  { "Name" : "David", "Subject" : [ "Java", "C" ] }
]}
{ "_id" : ObjectId("5e2bfd4571bf0181ecc422a4"), "Details" : [
  { "Name" : "Bob", "Subject" : [ "C++", "Python" ] },
  { "Name" : "John", "Subject" : [ "Spring", "Hibernate" ] }
]}

$in का उपयोग करके दस्तावेज़ खोजने की क्वेरी

Name "Chris" और Subject में "MongoDB" वाले दस्तावेज़ खोजें:

> db.demo83.find({ "Details" : { "$elemMatch" : {"Name" :"Chris" , "Subject":{"$in":["MongoDB"]}}}});

परिणाम:

{ "_id" : ObjectId("5e2bfd2271bf0181ecc422a3"), "Details" : [
  { "Name" : "Chris", "Subject" : [ "MySQL", "MongoDB" ] },
  { "Name" : "David", "Subject" : [ "Java", "C" ] }
]}

नोट: $elemMatch के साथ $in का उपयोग सरणी के भीतर मान खोजने के लिए अधिक कुशल है।

  1. - MongoDB find() क्वेरी: नेस्टेड दस्तावेज के लिए

    नेस्टेड दस्तावेज से मान प्राप्त करने के लिए, डॉट नोटेशन का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo591.insert([ { Name: John, Age: 23 }, { Name: Carol, Age: 26 }, { Name: Robert, Age: 29, details: [ { Email: Robert@gmail.com, CountryName:

  1. - MongoDB $regex ऑपरेटर: केस इनसेंसिटिव खोज के लिए i या I

    इसके लिए आपको केस इनसेंसिटिव (i) का उपयोग करना होगा। आइए एक कलेक्शन बनाते हैं: > db.demo759.insertOne({SubjectName:MySQL}); { acknowledged : true, insertedId : ObjectId(5eb02ba95637cd592b2a4ae7) } > db.demo759.insertOne({SubjectName:MongoDB}); { acknowledged : true, insertedId : ObjectId(5eb0

  1. MongoDB अनुकूलित करें: स्टोरेज वेस्ट को कम करने की सिद्ध तकनीकें MongoDB अनुकूलित करें: स्टोरेज वेस्ट को कम करने की सिद्ध तकनीकें

    Appboy मोबाइल ऐप्स के लिए दुनिया का अग्रणी मार्केटिंग ऑटोमेशन प्लेटफॉर्म है। हम हर महीने अरबों डेटा पॉइंट्स एकत्र करते हैं यह ट्रैक करके कि उपयोगकर्ता हमारे ग्राहकों के मोबाइल ऐप्स में क्या कर रहे हैं और उन्हें उनके व्यवहार या जनसांख्यिकी के आधार पर ईमेल, पुश नोटिफिकेशन और इन-ऐप मैसेज के लिए उपयोगकर