MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

एन-लेवल नेस्टेड सबडॉक्यूमेंट मोंगोडीबी खोजें

C# में हम इस परिदृश्य को प्राप्त करने के लिए एक पुनरावर्ती विधि बना सकते हैं।

यहाँ एक BsonDocument मैंने बनाया है:

 BsonDocument doc = new BsonDocument {
            { "id","1"},
            { "DocType", "Unidade"},
            { "Nome", "TONY"},
            { "RG_InscricaoEstadual", "4347924938742"},
            { "Setores",new BsonArray {
             new BsonDocument {
             { "id","9" },
             { "Nome", "Child0"},
             { "Setores", new BsonArray { new BsonDocument {
                          { "id","10" },
                          { "Nome", "Child1"},
                          { "Setores", new BsonArray { new BsonDocument {
                                       { "id","11" },
                                       { "Nome", "Child2"},
                                       {  "Id","90228c56-eff2-46d2-a324-b04e3c69e15c" },
                                       { "DocType", "Setor"}
                                       }
                                       }
                          },
                          {  "Id","60228c56-dff2-46d2-a324-b04e3c69e15b" },
                          { "DocType", "Setor"}
                 }
                 }
                 },
                 {  "Id","8457e1b7-39dc-462c-8f46-871882faea2c" },
                 { "DocType", "Setor"}
                 }
            }
            }
            };

आप मोंगो सी# क्वेरी विधि इस BsonDocument को MongoDB से प्राप्त करने के लिए।

यहाँ एक पुनरावर्ती विधि है जिसका उपयोग मैंने "Id" के माध्यम से दस्तावेज़ को क्वेरी करने के लिए किया है:BsonDocument result = GetID(doc, "90228c56-eff2-46d2-a324-b04e3c69e15c");

 public static BsonDocument GetID(BsonDocument doc, string queryId)
    {
        BsonDocument result = new BsonDocument();
        if (doc.Elements.Where(c => c.Name == "Setores").Count() != 0)
        {
            foreach (var item in doc.GetElement("Setores").Value.AsBsonArray)
            {
                var id = item.AsBsonDocument.GetElement("Id").Value;
                if (id == queryId)
                {
                    result = item.AsBsonDocument;
                    break;
                }
                result = GetID(item.AsBsonDocument, queryId);
            }
        }
        return result;
    }

मुझे आशा है कि यह आपको कुछ सुझाव दे सकता है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. es6 शैली आयात का उपयोग करके MongoDB कैसे आयात करें?

  2. मोंगो दस्तावेज़ में नेस्टेड फ़ील्ड का डेटाटाइप कैसे बदलें?

  3. लोड परीक्षण के दौरान MongoDB अनुत्तरदायी क्यों है?

  4. MongoDB स्कीमा प्रदर्शन अनुकूलन

  5. MongoDB एकत्रीकरण:डबल लुकअप, और संबंधित ऑब्जेक्ट के लिए लुकअप प्रतिक्रिया मर्ज करें