मेरे पास एक प्रति दिन प्रति दस्तावेज़ है। मैं डेटा सरणी में एक और उप-दस्तावेज़ कैसे जोड़ सकता हूं और यदि वह मौजूद नहीं है तो पूरा दस्तावेज़ बनाएं?Mongodb एम्बेडेड दस्तावेज़
{ "key": "20120418_123456789", "data":[ { "Meter": 123456789, "Dt": ISODate("2011-12-29T16:00:00.0Z"), "Energy": 25, "PMin": 11, "PMax": 16 } ], "config": {"someparam": 4.5} }
क्या मैं उस उद्देश्य के लिए अपरर्ट का उपयोग कर सकता हूं?
परिणाम हो सकता है अगर दस्तावेज़ मौजूद है:
{ "key": "20120418_123456789", "data":[ { "Meter": 123456789, "Dt": ISODate("2011-12-29T16:00:00.0Z"), "Energy": 25, "PMin": 11, "PMax": 16 }, { "Meter": 123456789, "Dt": ISODate("2011-12-29T16:15:00.0Z"), "Energy": 22, "PMin": 13, "PMax": 17 } ], "config": {"someparam": 4.5} }
अग्रिम धन्यवाद
मैं प्रतिदिन 400000 addToSet ... दस्तावेज़ प्रति 96 डेटा करना होगा। ऐसा लगता है धीमा लगता है ... क्या ऐसा करने के अन्य तरीके हैं? – hotips
जैसा कि बताया गया है, आप इस तरह से मूल्यों की एक सरणी को बढ़ाकर कई चालों को ट्रिगर करने जा रहे हैं - इससे धीमा हो जाएगा, जब तक आप किसी भी तरीके से सरणी को बाध्य नहीं करते हैं और इसके अधिकतम आकार की भविष्यवाणी कर सकते हैं - तो आप इसे उचित रूप से पैड कर सकते हैं और अपडेट बहुत तेज़ होंगे। यदि आप ऐसा नहीं कर सकते हैं तो शायद आपको एक अलग स्कीमा पर विचार करना चाहिए और एक एम्बेडेड सरणी के बजाय डेटा को किसी अन्य संग्रह में रखना चाहिए। –