2014-12-21 9 views
11

में एक अपडेट कॉल में दो अलग-अलग सरणी में पुश करें, मैं एक अपडेट कॉल के साथ दस्तावेज़ में दो अलग-अलग सरणी अपडेट करने के लिए अपडेट करने का प्रयास कर रहा हूं। क्या इसे करने का कोई तरीका है?मोंगोड

उदाहरण के लिए

अगर मैं की तरह एक दस्तावेज़ है:

{ 
    _id:1, 
    array1:[1], 
    array2:[4] 
} 

अभी मैं यह कर रहा हूं:

db.collection.update({_id:1},{$push:{array1:"2"}}) 
db.collection.update({_id:1},{$push:{array2:"5"}}) 

वहाँ यह करने के लिए सिर्फ एक कॉल को कम करने के लिए एक रास्ता है? मैंने धक्का देने के लिए सिर्फ एक सरणी पारित करने का प्रयास किया है, मैंने अद्यतन ऑब्जेक्ट में एकाधिक पुश स्टेटमेंट्स की कोशिश की है लेकिन वे काम नहीं करते हैं। इसके साथ आपकी मदद का शुक्रिया!

+0

आप की कोशिश की करने के लिए कई क्षेत्रों निर्दिष्ट कर सकते हैं 'db.collection.update ({_ आईडी: 1}, {$ धक्का: {array1:" 2 "}, $ धक्का: {array2: "5"}}) '? और आप स्ट्रिंग्स के रूप में पूर्णांक को क्यों दबाते हैं? –

उत्तर

11

आप $push ऑपरेटर

db.collection.update(
    { _id :1 }, 
    { $push : { array1 : "1", array2 : "5" }} 
) 
संबंधित मुद्दे