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

MongoDB क्वेरी डॉट्स युक्त कुंजियों के साथ रिकॉर्ड खोजने के लिए?

<घंटा/>

इसके लिए $addFields का इस्तेमाल करें। उसमें, कुंजी और मानों के रूप में डेटा प्राप्त करने के लिए $objectToArray का उपयोग करें। यह जांचने के लिए कि क्या कोई कुंजी है या नहीं, $indexOfBytes के साथ $filter का उपयोग करें। इसके अंदर।

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

> db.demo364.insertOne(
...   {
...       "details" : {
...          "details1.otherdetails.Name" : {"FirstName":"Chris" }
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e57d485d0ada61456dc936d")
}
> db.demo364.insertOne(
...    {
...       "details" : {
...          "details1.otherdetails.Name" : {"FirstName":"David" }
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e57d486d0ada61456dc936e")
}

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

> db.demo364.find();

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

{ "_id" : ObjectId("5e57d485d0ada61456dc936d"), "details" : { "details1.otherdetails.Name" : { "FirstName" : "Chris" } } }
{ "_id" : ObjectId("5e57d486d0ada61456dc936e"), "details" : { "details1.otherdetails.Name" : { "FirstName" : "David" } } }

डॉट्स वाली कुंजियों के साथ रिकॉर्ड खोजने के लिए क्वेरी निम्नलिखित है -

> db.demo364.aggregate([
...    {
...       $addFields: {
...          result: {
...             $filter: {
...                input: { $objectToArray: "$details" },
...                cond: {
...                   $ne: [ { $indexOfBytes: [ "$$this.k", "." ] } , -1 ]
...                }
...             }
...          }
...       }
...    },
...    {
...       $match: {
...          $expr: {
...             $ne: [ { $size: "$result" }, 0 ]
...          }
...       }
...    },
...    {
...       $project: {
...          result: 0
...       }
...    }
... ])

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

{ "_id" : ObjectId("5e57d485d0ada61456dc936d"), "details" : { "details1.otherdetails.Name" : { "FirstName" : "Chris" } } }
{ "_id" : ObjectId("5e57d486d0ada61456dc936e"), "details" : { "details1.otherdetails.Name" : { "FirstName" : "David" } } }

  1. विशिष्ट प्रथम नाम और अंतिम नाम वाले दस्तावेज़ खोजने के लिए MongoDB क्वेरी

    विशिष्ट FirstName और LastName वाले दस्तावेज़ ढूँढ़ने के लिए, $ और साथ में $in का उपयोग करें। इसे MongoDB फाइंड () में लागू करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo692.insertOne({FirstName:"Chris","LastName":"Brown"}); {    "acknowledged&

  1. एक विशिष्ट मूल्य से कम कीमत के साथ MongoDB रिकॉर्ड खोजें

    एक विशिष्ट मूल्य से कम मूल्य वाले रिकॉर्ड की जांच करने के लिए, $lt का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo728.insertOne({Price:75}); {    "acknowledged" : true,    "insertedId" : ObjectId("5eab413c43417811278f589b") } >

  1. MySQL के साथ LIKE क्वेरी में % कैरेक्टर वाले रिकॉर्ड खोजें

    आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable742 (मान varchar(100));क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (2.91 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable742 मानों में डालें (%_1234); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.09 सेकंड) चयन कथन का उपयोग करके तालिका से सभी