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

MongoDB में न्यूमेरिक की वाले सबडॉक्यूमेंट का मान एक्सेस करें

MongoDB में संख्या-की (Numeric Key) वाले सबडॉक्यूमेंट एक्सेस करना

जब ऑब्जेक्ट की चाबी (की) संख्या हो (जैसे "1", "2"), तो ब्रैकेट नोटेशन object["1"] का उपयोग करें। डॉट नोटेशन object.1 काम नहीं करता।

कलेक्शन बनाएं और डॉक्यूमेंट इन्सर्ट करें

> db.accessSubDocumentDemo.insertOne({
  "Details": {
    "1": {"StudentLowerScore": "33", "StudentHoghScore": "55"},
    "2": {"StudentLowerScore": "45", "StudentHoghScore": "65"},
    "3": {"StudentLowerScore": "39", "StudentHoghScore": "91"},
    "4": {"StudentLowerScore": "41", "StudentHoghScore": "85"}
  }
});
{ "acknowledged": true, "insertedId": ObjectId("5cd3baf0edc6604c74817cd6") }

डॉक्यूमेंट देखें

>> db.accessSubDocumentDemo.find().pretty();
{
  "_id": ObjectId("5cd3baf0edc6604c74817cd6"),
  "Details": {
    "1": {"StudentLowerScore": "33", "StudentHoghScore": "55"},
    "2": {"StudentLowerScore": "45", "StudentHoghScore": "65"},
    "3": {"StudentLowerScore": "39", "StudentHoghScore": "91"},
    "4": {"StudentLowerScore": "41", "StudentHoghScore": "85"}
  }
}

की "1" वाला सबडॉक्यूमेंट एक्सेस करें

> db.accessSubDocumentDemo.findOne().Details["1"];
{ "StudentLowerScore": "33", "StudentHoghScore": "55" }

क्यों ब्रैकेट नोटेशन जरूरी है

// गलत - सिंटैक्स एरर
db.accessSubDocumentDemo.findOne().Details.1;

// सही - ब्रैकेट नोटेशन
db.accessSubDocumentDemo.findOne().Details["1"];

// वेरिएबल में की होने पर
var key = "1";
db.accessSubDocumentDemo.findOne().Details[key];

क्वेरी में उपयोग करें

// की "1" वाले डॉक्यूमेंट खोजें जहां StudentLowerScore = "33"
db.accessSubDocumentDemo.find({"Details.1.StudentLowerScore": "33"})

नोट

  • MongoDB में फ़ील्ड नाम स्ट्रिंग होते हैं, "1" स्ट्रिंग है न कि नंबर
  • डॉट नोटेशन में संख्या से शुरू होने वाला पहचानकर्ता अमान्य है
  • ब्रैकेट नोटेशन किसी भी वैध स्ट्रिंग की के लिए काम करता है
  1. - C# में HybridDictionary में की/वैल्यू पेयर्स की गिनती करना

    HybridDictionary क्लास (System.Collections.Specialized नेमस्पेस में) छोटे डेटा सेट के लिए ListDictionary और बड़े डेटा सेट के लिए Hashtable के बीच स्वचालित रूप से स्विच करती है। Count प्रॉपर्टी की/वैल्यू पेयर्स की संख्या लौटाती है। उदाहरण 1: दो HybridDictionaries की गिनती using System; using System.

  1. - C# में StringDictionary में कुंजी-मान जोड़े की संख्या प्राप्त करें

    C# में StringDictionary वर्ग की Count प्रॉपर्टी का उपयोग करके डिक्शनरी में मौजूद कुंजी-मान जोड़े की कुल संख्या प्राप्त की जा सकती है। यह प्रॉपर्टी एक पूर्णांक मान लौटाती है जो संग्रहीत प्रविष्टियों की संख्या दर्शाता है। उदाहरण 1: Count प्रॉपर्टी का उपयोग using System; using System.Collections; usin

  1. Redis HLEN कमांड: हैश फील्ड्स की संख्या तुरंत गिनें Redis HLEN कमांड: हैश फील्ड्स की संख्या तुरंत गिनें

    सिंटैक्स: redis host:port> HLEN <key name> आउटपुट: - (पूर्णांक) मान, हैश में फील्ड्स की संख्या दर्शाता है। - 0, यदि की मौजूद नहीं है। - त्रुटि, यदि की मौजूद है और की पर संग्रहीत मान हैश नहीं है। उदाहरण: संदर्भ: HLEN कमांड डॉक्स Redis डेटास्टोर में संग्रहीत हैश मान में समाहित फील्ड्स