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

MongoDB में ऐरे के मामले में $eq से ID मिलान करके दस्तावेज़ प्राप्त करना

MongoDB में $eq ऑपरेटर का उपयोग करके ऐरे फील्ड में मान मिलान करना

MongoDB में किसी ऐरे फील्ड में विशिष्ट मान वाले दस्तावेज़ खोजने के लिए $eq ऑपरेटर या सीधे मान का उपयोग करें। MongoDB स्वतः ऐरे के भीतर मान की जांच करता है।

उदाहरण: संग्रह और दस्तावेज़ बनाना

> db.demo426.insert({"Ids":["110","120","101"]});
WriteResult({ "nInserted" : 1 })
> db.demo426.insert({"Ids":["100","201","401"]});
WriteResult({ "nInserted" : 1 })
> db.demo426.insert({"Ids":["501","600","700"]});
WriteResult({ "nInserted" : 1 })

सभी दस्तावेज़ देखना

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

आउटपुट:

{ "_id" : ObjectId("5e75e50fbbc41e36cc3cae72"), "Ids" : [ "110", "120", "101" ] }
{ "_id" : ObjectId("5e75e51abbc41e36cc3cae73"), "Ids" : [ "100", "201", "401" ] }
{ "_id" : ObjectId("5e75e527bbc41e36cc3cae74"), "Ids" : [ "501", "600", "700" ] }

"501" मान वाले दस्तावेज़ खोजना ($eq के साथ)

> db.demo426.find({"Ids":{$eq:"501"}});

आउटपुट:

{ "_id" : ObjectId("5e75e527bbc41e36cc3cae74"), "Ids" : [ "501", "600", "700" ] }

व्याख्या:

  • MongoDB में {field: value} सिंटैक्स ऐरे फील्ड के लिए स्वतः {field: {$eq: value}} जैसा व्यवहार करता है
  • यह जांचता है कि ऐरे में निर्दिष्ट मान मौजूद है या नहीं
  • $eq स्पष्ट रूप से समानता निर्दिष्ट करता है (पठनीयता के लिए)

समतुल्य सरल सिंटैक्स:

db.demo426.find({"Ids": "501"})

यह समान परिणाम देता है और अधिक संक्षिप्त है।

ऐरे क्वेरी के अन्य ऑपरेटर्स:

ऑपरेटरउपयोगउदाहरण
$inकिसी भी मान से मेल{Ids: {$in: ["101", "501"]}}
$allसभी मान मौजूद हों{Ids: {$all: ["101", "110"]}}
$sizeऐरे आकार{Ids: {$size: 3}}
$elemMatchऑब्जेक्ट ऐरे में शर्त{arr: {$elemMatch: {a: 1, b: 2}}}

नोट: ऐरे में ऑब्जेक्ट्स हों तो डॉट नोटेशन या $elemMatch उपयोग करें।

  1. - MongoDB क्वेरी: ऐरे फील्ड वाले दस्तावेजों को मैच करें

    ऐरे फील्ड वाले दस्तावेजों को मैच करने के लिए, $elemMatch ऑपरेटर का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo592.insertOne({ id:101, details: [ { Name: Chris, Value: 200 }, { Name: David, Value: 800 } ] }); { acknowledged : true, insertedId : Ob

  1. - MongoDB में समान ID वाले दस्तावेज़ों के एलिमेंट्स को एग्रीगेट करना

    अलग-अलग दस्तावेज़ों में समान ID वाले एलिमेंट्स को ग्रुप करने के लिए MongoDB के $group एग्रीगेशन स्टेज का उपयोग करें। डेमो डेटा > db.demo602.insertOne({id:1,Name:Chris}); > db.demo602.insertOne({id:2,Name:David}); > db.demo602.insertOne({id:1,Name:Bob}); > db.demo602.insertOne({id:3,Name

  1. - MongoDB में विशिष्ट संख्या से अधिक फील्ड मान वाले डॉक्यूमेंट्स से मिलान करके उन्हें प्राप्त करें

    मिलान के लिए MongoDB में $match का उपयोग करें। विशिष्ट संख्या से अधिक मानों के लिए $gt का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo730.insertOne({Name : Chris, Marks : 33 }); { acknowledged : true, insertedId : ObjectId(5eac54cd56e85a39df5f6339) } > db.demo730.insertOne({ Name : David,