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

मोंगोडब सी # ड्राइवर अपडेट सभी सबअरे तत्व विफल हो जाते हैं जब सरणी खाली होती है

जैसे त्रुटि संदेश कहता है, आपको केवल उस फ़ील्ड पर सरणी अद्यतन संचालन चलाने की अनुमति है जो एक सरणी है। यदि फ़ील्ड का मान null . है या मौजूद नहीं है, अपडेट भी विफल हो जाएगा।

दस्तावेज़ों को सहेजते समय फ़ील्ड को एक खाली सरणी बनाना सबसे आसान उपाय है ताकि यह डीबी में इस तरह दिखे:

{
    "_id": ObjectId("5df9af0e22bb051d0c25c936"),
    "Quotes": [ ]
}

जिसे आपकी सी# संपत्ति को डिफ़ॉल्ट मान देकर आसानी से हासिल किया जा सकता है:

    public Quote[] Quotes { get; set; } = new Quote[0];

परीक्षण कार्यक्रम:

using MongoDB.Entities;
using MongoDB.Entities.Core;

namespace StackOverflow
{
    public class Test : Entity
    {
        public string Name { get; set; }
        public Quote[] Quotes { get; set; } = new Quote[0];
    }

    public class Quote
    {
        public bool flag { get; set; }
        public string status { get; set; }
    }

    public class Program
    {
        private static void Main(string[] args)
        {
            new DB("test", "localhost");

            (new[] {
                new Test { Name = "no quotes"},
                new Test { Quotes = new[]{
                    new Quote { flag = true, status = "PROCESSED" } } },

                new Test { Quotes = new[]{
                    new Quote { flag = true, status = "NOT-PROCESSED" },
                    new Quote { flag = true, status = "NOT-PROCESSED" }
                }}
            }).Save();

            var field = Prop.PosAll<Test>(t => t.Quotes[0].flag);

            DB.Update<Test>()
              .Match(_ => true)
              .Modify(b => b.Set(field, false))
              .Execute();
        }
    }
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB बहु उप-दस्तावेज़ों को फ़िल्टर करता है

  2. Mongoid अप्रारंभीकृत स्थिर Mongo देता है

  3. MongoDB में एक स्ट्रिंग के सबसेट को कैसे अपडेट करें?

  4. मोंगो डेटाबेस के पुनर्गठन के बिना सरणी में दिए गए आईडी एम्बेड के साथ अद्यतन वस्तु

  5. MongoDB के लिए कॉन्फ़िगरेशन फ़ाइल कैसे बनाएं