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

MongoDB में BinData को टाइप द्वारा क्वेरी करें

MongoDB में BinData सबटाइप द्वारा क्वेरी करना

MongoDB में बाइनरी डेटा BinData के रूप में संग्रहीत होता है जिसमें एक सबटाइप (0-255) होता है। subtype() विधि का उपयोग करके आप विशिष्ट सबटाइप वाले दस्तावेज़ों को क्वेरी कर सकते हैं।

सैंपल डेटा बनाना (विभिन्न सबटाइप्स के साथ)

> db.demo249.insertOne({ "_id" : BinData(0,"AQAAAAEBAAVlbl9VSwAAAAAAAAhv") });
{ "acknowledged" : true, "insertedId" : BinData(0,"AQAAAAEBAAVlbl9VSwAAAAAAAAhv") }
> db.demo249.insertOne({ "_id" : BinData(4,"CNDF66qIlCY92q1vFAAAAQ==") });
{ "acknowledged" : true, "insertedId" : UUID("08d0c5eb-aa88-9426-3dda-ad6f14000001") }
> db.demo249.insertOne({ "_id" : BinData(3,"CNDF66qJ29g92q1vFAAAEw==") });
{ "acknowledged" : true, "insertedId" : BinData(3,"CNDF66qJ29g92q1vFAAAEw==") }

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

> db.demo249.find();

आउटपुट:


सबटाइप 0 (जेनेरिक बाइनरी) वाले दस्तावेज़ क्वेरी करना

> db.demo249.find(function(){ return this._id.subtype() == 0 });

आउटपुट:


सामान्य BinData सबटाइप्स

सबटाइपनामविवरण
0Genericसामान्य बाइनरी डेटा
1Functionफंक्शन कोड (deprecated)
2Binary (Old)पुराना बाइनरी फॉर्मेट
3UUID (Old)पुराना UUID फॉर्मेट
4UUIDमानक UUID (RFC 4122)
5MD5MD5 हैश
128-255User definedउपयोगकर्ता-परिभाषित

बेहतर क्वेरी: $type ऑपरेटर

जावास्क्रिप्ट फंक्शन के बजाय $type ऑपरेटर का उपयोग करें (अधिक कुशल, इंडेक्स उपयोग कर सकता है):

> // सबटाइप 0 के लिए
> db.demo249.find({ _id: { $type: "binData" } })  // सभी बाइनरी

> // विशिष्ट सबटाइप के लिए (MongoDB 3.4+)
> db.demo249.find({ _id: { $type: 5 } })  // 5 = binData सबटाइप 0 का एलियास

> // या संख्यात्मक सबटाइप
> db.demo249.find({ _id: { $type: 0 } })

नोट

उदाहरण में जावास्क्रिप्ट फंक्शन find(function(){...}) का उपयोग किया गया है जो धीमा है और इंडेक्स का उपयोग नहीं कर सकता। उत्पादन में $type ऑपरेटर पसंद करें।

  1. - MongoDB में _id द्वारा समूह कैसे बनाएं

    MongoDB में _id द्वारा समूह बनाने के लिए, $group का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo529.insertOne({Score:10}); { acknowledged : true, insertedId : ObjectId(5e8b1d5bef4dcbee04fbbbe4) } > db.demo529.insertOne({Score:20}); { acknowledged : true, insertedId : ObjectId(

  1. - MongoDB Query - Collection Rename करना

    MongoDB में collection rename करने के लिए renameCollection() का उपयोग करें। Collection बनाना > db.demo690.insertOne({_id:101,Name:Sam}); { acknowledged : true, insertedId : 101 } > db.demo690.insertOne({_id:102,Name:Mike}); { acknowledged : true, insertedId : 102 } > db.demo690.insertOne({

  1. - MongoDB में एम्बेडेड दस्तावेजों को क्वेरी करें

    MongoDB में एम्बेडेड दस्तावेजों को क्वेरी करने के लिए, aggregate() का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo705.insertOne( { _id:101, Information: [ { StudentName:Chris, StudentAge:21 }, { StudentName:David, StudentAge:23 },