How do I update Array Elements matching criteria in a MongoDB document?एक मोंडोडीबी दस्तावेज़ में अपरर्ट ऐरे तत्व मिलान मानदंड?
मैं सरणी तत्वों को अपरिवर्तित करना चाहता हूं, इसलिए यदि कोई मेल नहीं खाता है तो उसे डालें, अन्यथा इसे अपडेट करें।
मैंने उस प्रश्न का उत्तर देने की कोशिश की, और यह ठीक काम करता है अगर सरणी तत्व पहले से मौजूद है। यदि तत्व मौजूद नहीं है तो यह सरणी क्षेत्र के नीचे "$" का बच्चा बनाता है।
मेरे मोंगो संरचना इस प्रकार है:
Widget (collection)
--Name
--Properties (array)
--Name
--Value
मेरा आवेदन हो जाता है एक विजेट नाम और एक WebService कॉल से गुण की एक सूची। मैं उपलब्ध गुणों को फिर से शुरू करना चाहता हूं और मोंगो डीबी में मान अपडेट करना चाहता हूं यदि नाम पहले से मौजूद है, या यदि यह नहीं करता है तो गुण सरणी में एक नई संपत्ति डालें।
मैं भी इस निष्कर्ष पर आया था। मेरे पास प्रति विजेट लगभग 3500 गुण हैं, और 100,000 से अधिक विजेट्स की संभावना है। क्या यह अपने स्वयं के संग्रह में संपत्ति रखने के लिए एक समझदार डिजाइन है? – justacodemonkey
"अप्सर्ट" संभव है यदि आप अपने दस्तावेज़ को पुन: व्यवस्थित कर सकते हैं। मेरा जवाब देखें –