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

MongoDB में NumberInt() का उपयोग करके 32-बिट इंटीजर फ़ील्ड द्वारा दस्तावेज़ ढूंढना

MongoDB में NumberInt(): 32-बिट इंटीजर स्पष्ट रूप से निर्दिष्ट करना

MongoDB शेल में संख्यात्मक लिटरल डिफ़ॉल्ट रूप से 64-बिट फ्लोट (डबल) होते हैं। NumberInt() कंस्ट्रक्टर 32-बिट हस्ताक्षरित इंटीजर बनाने के लिए उपयोग किया जाता है, जो तुलना और इंडेक्स मिलान के लिए महत्वपूर्ण है जब संग्रहीत मान 32-बिट इंटीजर हों।

नमूना डेटा: NumberInt के साथ नेस्टेड आईडी

> db.demo357.insertOne({
    "FirstName": "Chris", "Age": 21,
    "details": {"studentDetails": {"id": NumberInt(101)}}
});
{ "acknowledged": true, "insertedId": ObjectId("5e568fa6f8647eb59e5620c9") }

> db.demo357.insertOne({
    "FirstName": "David", "Age": 23,
    "details": {"studentDetails": {"id": NumberInt(110)}}
});
{ "acknowledged": true, "insertedId": ObjectId("5e568fbaf8647eb59e5620ca") }

क्वेरी: NumberInt(110) द्वारा ढूंढना

> db.demo357.find({"details.studentDetails.id": NumberInt(110)});

परिणाम

{ "FirstName": "David", "Age": 23, "details": {"studentDetails": {"id": 110}} }

NumberInt(110) का उपयोग करके क्वेरी करने से सही मिलान होता है। यदि आप केवल 110 (डबल) उपयोग करते हैं, तो भी MongoDB 32-बिट इंटीजर से मिलान कर लेता है (प्रकार जबरदस्ती के कारण), लेकिन स्पष्ट NumberInt प्रकार सुरक्षा और स्पष्टता के लिए सर्वोत्तम अभ्यास है, विशेष रूप से ड्राइवर कोड में।

  1. - MongoDB में विशिष्ट मान वाले फील्ड नाम द्वारा दस्तावेज़ कैसे खोजें?

    MongoDB में फील्ड नाम द्वारा दस्तावेज़ खोजना फील्ड नाम द्वारा विशिष्ट मान वाले दस्तावेज़ खोजने के लिए, आप $exists ऑपरेटर का उपयोग कर सकते हैं। आइए दस्तावेज़ों के साथ एक कलेक्शन बनाते हैं: > db.findByFieldName.insertOne( { Client:{ ClientDetails:{ ClientName:Larry, ClientAge:29 }, ClientProjectDe

  1. - MongoDB फाइंड क्वेरी में स्टेटिक वैल्यू के साथ फील्ड कैसे जोड़ें?

    MongoDB एग्रीगेशन में $literal का उपयोग करके स्टेटिक फील्ड जोड़ना $literal ऑपरेटर आपको एग्रीगेशन पाइपलाइन में एक स्थिर मान निर्दिष्ट करने की अनुमति देता है जिसे एक नए फील्ड के रूप में प्रोजेक्ट किया जा सकता है। यह गणना किए बिना क्वेरी परिणामों में मेटाडेटा, फ्लैग्स, या डिफ़ॉल्ट मान जोड़ने के लिए उपय

  1. MongoDB क्वेरी: आईडी को सरणी फ़ील्ड मान से बाहर कैसे करें MongoDB क्वेरी: आईडी को सरणी फ़ील्ड मान से बाहर कैसे करें

    इसके लिए $not के साथ $in ऑपरेटर का उपयोग करें। आइए एक संग्रह बनाते हैं: [ { id: 101, subjectid: [ 102 ] }, { id: 102, subjectid: [ 102 ] } ] सभी दस्तावेज़ देखने के लिए: db.collection.find() आउटपुट: [ { _id: ObjectId(5a934e000102030405000000),