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

मोंगोडीबी - मैं कैसे देख सकता हूं कि किसी फ़ील्ड के सभी तत्व सुपरसेट में निहित हैं या नहीं?

<घंटा/>

MongoDB में किसी फ़ील्ड के सभी तत्वों के लिए, ढूंढें() का उपयोग करें और उसमें, $elemMatch का उपयोग करें। $elemMatch ऑपरेटर उन दस्तावेज़ों से मेल खाता है जिनमें कम से कम एक तत्व के साथ एक सरणी फ़ील्ड होता है जो सभी निर्दिष्ट क्वेरी मानदंडों से मेल खाता है।

आइए दस्तावेजों के साथ एक संग्रह बनाएं -

> db.demo624.insertOne({"ListOfName":["John","Chris","David","Bob"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9ab3ff6c954c74be91e6a5")
}
> db.demo624.insertOne({"ListOfName":["John","Chris"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9ab4026c954c74be91e6a6")
}
> db.demo624.insertOne({"ListOfName":["John","Chris","Carol"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9ab4076c954c74be91e6a7")
}
> db.demo624.insertOne({"ListOfName":["John","Chris","Bob"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9ab40e6c954c74be91e6a8")
}
> db.demo624.insertOne({"ListOfName":["John","Chris","Mike","Robert"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9ab4186c954c74be91e6a9")
}

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

> db.demo624.find();

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

{ "_id" : ObjectId("5e9ab3ff6c954c74be91e6a5"), "ListOfName" : [ "John", "Chris", "David", "Bob" ] }
{ "_id" : ObjectId("5e9ab4026c954c74be91e6a6"), "ListOfName" : [ "John", "Chris" ] }
{ "_id" : ObjectId("5e9ab4076c954c74be91e6a7"), "ListOfName" : [ "John", "Chris", "Carol" ] }
{ "_id" : ObjectId("5e9ab40e6c954c74be91e6a8"), "ListOfName" : [ "John", "Chris", "Bob" ] }
{ "_id" : ObjectId("5e9ab4186c954c74be91e6a9"), "ListOfName" : [ "John", "Chris", "Mike", "Robert" ] }

यह देखने के लिए क्वेरी निम्नलिखित है कि क्या किसी फ़ील्ड के सभी तत्व सुपरसेट में समाहित हैं -

> db.demo624.find({"ListOfName":{$not:{$elemMatch:{$nin:["John", "Chris", "David", "Bob"]}}}});

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

{ "_id" : ObjectId("5e9ab3ff6c954c74be91e6a5"), "ListOfName" : [ "John", "Chris", "David", "Bob" ] }
{ "_id" : ObjectId("5e9ab4026c954c74be91e6a6"), "ListOfName" : [ "John", "Chris" ] }
{ "_id" : ObjectId("5e9ab40e6c954c74be91e6a8"), "ListOfName" : [ "John", "Chris", "Bob" ] }

  1. मैं MongoDB में फ़ील्ड का नाम कैसे बदल सकता हूँ?

    फ़ील्ड का नाम बदलने के लिए, $project का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo517.insertOne({"Name":"Chris Brown"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e88a2a2987b6e0e9d18f595") } >

  1. MongoDB संग्रह में सभी दस्तावेज़ों में एक नया फ़ील्ड कैसे जोड़ें

    एक नया क्षेत्र जोड़ने के लिए, MongoDB में $addFields का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo712.insertOne({"Name":"John"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea85f675d33e20ed1097b82&qu

  1. मैं MongoDB 4 में दस्तावेज़ों को कैसे सॉर्ट कर सकता हूँ और केवल एक ही फ़ील्ड प्रदर्शित कर सकता हूँ?

    MongoDB 4 में दस्तावेज़ों को सॉर्ट करने के लिए, सॉर्ट () का उपयोग करें। केवल एक ही फ़ील्ड दिखाने के लिए, जिसे सॉर्ट किया गया है, इसे 1 पर सेट करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo611.insertOne({Name:Bob});{ acknowledgeed :true, insertedId:ObjectId(5e98711bf6b89257f)} संग्रह से सभी