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

MongoDB क्वेरी को गतिशील रूप से कैसे बनाएं?

<घंटा/>

गतिशील रूप से क्वेरी बनाने के लिए, आपको कुछ स्क्रिप्ट लिखनी होगी। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -

> db.dynamicQueryDemo.insertOne({"Name":"John","Subject":["MongoDB","MySQL"]});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5cef5c5def71edecf6a1f69a")
}
> db.dynamicQueryDemo.insertOne({"Name":"John","Subject":["C","C++"]});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5cef5c73ef71edecf6a1f69b")
}
> db.dynamicQueryDemo.insertOne({"Name":"John","Subject":["MongoDB","Java"]});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5cef5c8bef71edecf6a1f69c")
}

संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -

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

यह निम्नलिखित आउटपुट देगा -

{
   "_id" : ObjectId("5cef5c5def71edecf6a1f69a"),
   "Name" : "John",
   "Subject" : [
      "MongoDB",
      "MySQL"
   ]
}
{
   "_id" : ObjectId("5cef5c73ef71edecf6a1f69b"),
   "Name" : "John",
   "Subject" : [
      "C",
      "C++"
   ]
}
{
   "_id" : ObjectId("5cef5c8bef71edecf6a1f69c"),
   "Name" : "John",
   "Subject" : [
      "MongoDB",
      "Java"
   ]
}

MongoDB क्वेरी को गतिशील रूप से बनाने के लिए क्वेरी निम्नलिखित है -

> function findDocument(subject) {
   var find = {};
   if (subject.length == 0)
      find["$nin"] = subject;
   else
      find["$in"] = subject;
   return find;
}
> var sub = ["MySQL","MongoDB"];
> var myDoc = findDocument(sub);

> db.dynamicQueryDemo.aggregate([{
   $match: {
      "Subject": myDoc,
   }
}]);

यह निम्नलिखित आउटपुट देगा -

{ "_id" : ObjectId("5cef5c5def71edecf6a1f69a"), "Name" : "John", "Subject" : [ "MongoDB", "MySQL" ] }
{ "_id" : ObjectId("5cef5c8bef71edecf6a1f69c"), "Name" : "John", "Subject" : [ "MongoDB", "Java" ] }

  1. MongoDB क्वेरी में विशिष्ट कॉलम का चयन कैसे करें?

    विशिष्ट स्तंभों का चयन करने के लिए, आप उनमें से बाकी को अनदेखा कर सकते हैं यानी उन स्तंभों को छिपाने के लिए, उन्हें 0 पर सेट कर सकते हैं। आइए पहले हम दस्तावेज़ों के साथ एक संग्रह बनाते हैं - > db.demo415.insertOne({"ClientName":"Robert","ClientCountryName":"US&q

  1. MongoDB में उप-दस्तावेजों पर क्वेरी कैसे खोजें?

    उप-दस्तावेजों के लिए, डॉट नोटेशन का उपयोग करें। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo537.insertOne({"details":{"SubjectName":"MongoDB"}});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8c8a10ef4

  1. MongoDB को "पसंद" के समान क्वेरी कैसे करें?

    पसंद के समान लागू करने के लिए, MongoDB में // के साथ-साथ ढूंढें () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo686.insertOne({"FirstName":"Robert"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea551