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

मैं उन सभी दस्तावेज़ों को खोजने के लिए MongoDB का उपयोग कैसे कर सकता हूं जिनमें फ़ील्ड है, चाहे उस फ़ील्ड का मूल्य कुछ भी हो?

<घंटा/>

MongoDB का उपयोग करने के लिए उन सभी दस्तावेज़ों को खोजने के लिए जिनमें फ़ील्ड है, उस फ़ील्ड के मूल्य की परवाह किए बिना, $exists ऑपरेटर का उपयोग करें। निम्नलिखित वाक्य रचना है

db.yourCollectionName.find({yourFieldName:{$exists:true}});

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

>db.findAllDocumentWhichHaveFieldDemo.insertOne({"StudentName":"John","StudentAge":null});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9d1d60a629b87623db1b22")
}
>db.findAllDocumentWhichHaveFieldDemo.insertOne({"StudentName":"Larry","StudentAge":null});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9d1d70a629b87623db1b23")
}
>db.findAllDocumentWhichHaveFieldDemo.insertOne({"StudentName":"Chris","StudentAge":""});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9d1d7ba629b87623db1b24")
}
>db.findAllDocumentWhichHaveFieldDemo.insertOne({"StudentName":"Robert","StudentAge":""});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9d1d81a629b87623db1b25")
}

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

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

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

{
   "_id" : ObjectId("5c9d1d60a629b87623db1b22"),
   "StudentName" : "John",
   "StudentAge" : null
}
{
   "_id" : ObjectId("5c9d1d70a629b87623db1b23"),
   "StudentName" : "Larry",
   "StudentAge" : null
}
{
   "_id" : ObjectId("5c9d1d7ba629b87623db1b24"),
   "StudentName" : "Chris",
   "StudentAge" : ""
}
{
   "_id" : ObjectId("5c9d1d81a629b87623db1b25"),
   "StudentName" : "Robert",
   "StudentAge" : ""
}

उस फ़ील्ड के मूल्य की परवाह किए बिना, फ़ील्ड वाले सभी दस्तावेज़ों को खोजने के लिए MongoDB का उपयोग करने के लिए क्वेरी निम्नलिखित है

> db.findAllDocumentWhichHaveFieldDemo.find({StudentAge:{$exists:true}});

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

{ "_id" : ObjectId("5c9d1d60a629b87623db1b22"), "StudentName" : "John", "StudentAge" : null }
{ "_id" : ObjectId("5c9d1d70a629b87623db1b23"), "StudentName" : "Larry", "StudentAge" : null }
{ "_id" : ObjectId("5c9d1d7ba629b87623db1b24"), "StudentName" : "Chris", "StudentAge" : "" }
{ "_id" : ObjectId("5c9d1d81a629b87623db1b25"), "StudentName" : "Robert", "StudentAge" : "" }

यदि आप परिणाम में “StudentName” फ़ील्ड नहीं चाहते हैं तो यह प्रश्न निम्नलिखित है

>db.findAllDocumentWhichHaveFieldDemo.find({},{StudentName:0},{StudentAge:{$exists:true}});

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

{ "_id" : ObjectId("5c9d1d60a629b87623db1b22"), "StudentAge" : null }
{ "_id" : ObjectId("5c9d1d70a629b87623db1b23"), "StudentAge" : null }
{ "_id" : ObjectId("5c9d1d7ba629b87623db1b24"), "StudentAge" : "" }
{ "_id" : ObjectId("5c9d1d81a629b87623db1b25"), "StudentAge" : "" }

  1. मैं एक सरणी के भीतर मिलान की गई वस्तुओं की संख्या के आधार पर MongoDB में दस्तावेज़ कैसे ढूंढ सकता हूं?

    आइए एक उदाहरण देखें और दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo694.insertOne( ...    { ...       "details" : ...       [ ...          { ...             "Name" : "Chris"

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

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

  1. मैं किसी विशिष्ट फ़ील्ड के मान के आधार पर दस्तावेज़ों को सरणी में कैसे गिन सकता हूं?

    ऐसे मैच और गिनती के लिए, MongoDB में $match का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo726.insertOne( ...    { ...       id:101, ...       "details": [ ...          { ...         &n