मोंगोडीबी का उपयोग करके शून्य मूल्य को अपडेट नहीं कर रहा है, मुझे सरणी शून्य होने पर एरे में तत्व जोड़ने में परेशानी हो रही है। यदि मैं कंसोल से आइटम जोड़ता हूं तो AddToSet अपेक्षा के अनुसार काम करता है। मैं 10gen से आधिकारिक सी # ड्राइवर का उपयोग कर रहा हूँ।AddToSet के साथ अद्यतन मोंगोडीबी सी #
var query = Query.EQ("_id", objectId);
var itemDoc = item.ToBsonDocument();
//items is an array but currently null
var update = MongoDB.Driver.Builders.Update.AddToSet("items", itemDoc); // YUNoWork?
//somefield doesn't exist
var workingUpdate = MongoDB.Driver.Builders.Update.AddToSet("somefield", itemDoc); //works fine
var collection = DataBase.GetCollection<MyObject>(CollectionName);
collection.Update(query, update); // doesn't work
collection.Update(query, workingUpdate); // works
क्या यह अपेक्षित व्यवहार है? यदि हां, तो क्या सरणी में आइटम जोड़ने का एक और सामान्य तरीका है?
सूचियों के लिए BsonIgnoreIfNull का उपयोग सी # कक्षा परिभाषाओं और मोंगोडीबी के बीच प्रतिबाधा विसंगति को हल करता है। धन्यवाद! – HatAndBeard
किसी और के लिए यह स्पष्ट करने के लिए कि यह उत्तर कौन देखता है, आपको इसके लिए अपने मौजूदा डेटा को काम करने के लिए साफ करना होगा। दूसरे शब्दों में, यदि आपके पास पहले से एक शून्य संपत्ति वाला दस्तावेज़ है, तो आपको संपत्ति या दस्तावेज़ को हटाना होगा। _Then_ अगली बार जब आप AddToSet का उपयोग करेंगे तो यह काम करेगा। मैंने विशेषता जोड़ दी थी, लेकिन यह अभी भी काम नहीं कर सका क्योंकि डेटा पहले ही शून्य से बचाया गया था। – adam0101