$push
किसी सरणी में मान जोड़ने के लिए उपयोग किया जाता है। आपके उदाहरण में, measurements
एक सरणी है और मोंगो जोड़ रहा है $newData
इसके पहले तत्व के रूप में। यह 0
की व्याख्या करता है measurements
. के बीच अनुक्रमणिका और levels
. आपके वांछित परिणाम में, measurements
$newData
. के समतुल्य वस्तु है (अर्थात इसमें एक levels
है संपत्ति, जिसमें बदले में वस्तुओं की एक सरणी होती है)।
निम्नलिखित में से किसी एक उदाहरण से आप जो चाहते हैं उसे पूरा करना चाहिए:
// if $newData is {"levels": [{"level_qty":12,"level_uom":"ft"}]}
->set("measurements", $newData)
// if $newData is [{"level_qty":12,"level_uom":"ft"}]
->set("measurements.levels", $newData)
// if $newData is {"level_qty":12,"level_uom":"ft"}
->push("measurements.levels", $newData)
नोट:$push
यदि आप भविष्य के अपडेट के साथ डेटा जोड़ना चाहते हैं तो यह अधिक लचीला होने जा रहा है, जबकि $set
दिए गए फ़ील्ड को स्वाभाविक रूप से अधिलेखित कर देगा।