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

सी # एसडीके का उपयोग करके दूसरे प्रकार का प्रोजेक्ट करना

मुझे आपकी इच्छित मैपिंग निष्पादित करने का तरीका मिल गया है:

collection
    .Find(Builders<MyType>.Filter.AnyIn(x => x.Documents, new[] { "c" }))
    .Project(Builders<MyType>.Projection.Exclude(c => c.Documents))
    .As<MySubType>()
    .ToList();

लेकिन पहले आपको अतिरिक्त तत्व को अनदेखा करते हुए अपने उपप्रकार के लिए मैपिंग पंजीकृत करनी चाहिए। मैं इसे 100% नहीं समझता, यह ड्राइवर की बग लगती है, इसे Documents नहीं मिलता है मोंगो से, लेकिन जानता है, कि MyType ऐसी संपत्ति है। ध्यान दें, आपको अपनी कक्षा मानचित्रण को पहले . पंजीकृत करना चाहिए आप पहले इस प्रकार का संग्रह बनाएं।

if (!BsonClassMap.IsClassMapRegistered(typeof(MySubType)))
{
    BsonClassMap.RegisterClassMap<MySubType>(cm =>
    {
        cm.AutoMap();
        cm.SetIgnoreExtraElements(true);
    });
}

मैंने इसे नमूना डेटा के साथ किया:

var toInsert = new List<MyType>
{
    new MyType {Id = 1, Name = "bla", Documents =new List<string> {"a", "b", "v"}},
    new MyType {Id = 2, Name = "ada", Documents =new List<string> {"c", "d", "r"}},
};

और अपेक्षित आउटपुट प्राप्त कर सकता है:

collection
    .Find(Builders<MyType>.Filter.AnyIn(x => x.Documents, new[] { "c" }))
    .Project(Builders<MyType>.Projection.Exclude(c => c.Documents))
    .As<MySubType>()
    .ToList()
    .Dump();




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. अपने MongoDB एप्लिकेशन अपग्रेड का परीक्षण कैसे करें?

  2. MongoDB GridFS फ़ाइल अपेक्षाकृत छोटी फ़ाइल के लिए बहुत बड़ी है

  3. मेरा एपीआई कोड मोंगोडब से एक खाली डेटा सरणी पुनर्प्राप्त करता है जबकि कोड मोंगोडब खेल के मैदान पर अच्छी तरह से काम करता है

  4. उल्का ऐप pm2 घातक त्रुटि के साथ चला:CALL_AND_RETRY_LAST आवंटन विफल - जावास्क्रिप्ट स्मृति से बाहर ढेर

  5. एक अद्वितीय अनुक्रमणिका का उल्लंघन करने वाले MongoDB दस्तावेज़ को सम्मिलित करते समय त्रुटि को कैसे पकड़ें?