यह मेरे दस्तावेज़ का एक हिस्सा है:
var actions = {title: 'Change खिड़कियों की ऊर्जाःविशेषताएं: [{_id: 234324234, मुख्य श्रेणी: 'Elektricitet', उप-श्रेणी: 'बेलिस्निंग', मान: 1}, {_id: 5434534543, मुख्य श्रेणी: 'इलेक्ट्रिटिटकेट', उप-श्रेणी: 'Utrustning', मान: 1}] }
मैं ऊर्जा सेविंग अपडेट, आइटम जोड़ने और आइटम निकालने में सक्षम होना चाहता हूं। यह तीन अलग-अलग प्रश्नों में किया जा सकता है या, मैं यह सब सिर्फ एक में कर सकता था
var दिया एक्शन = जेएसओएन। पार्स (रेक। एक्शन); (क्रिया)। खोज (): एक ({actionId: req.params.actionId}, फ़ंक्शन (गलती, कार्रवाई) {action.energySavings = givenAction.energySavings; action.save (फ़ंक्शन (गलती, बचाया एक्शन) {res.status (200) .सेंड (सहेजे गए एक्शन);});})
रास्ता कम कोड तो तीन अलग प्रश्न हालांकि, अगर क्लाइंट साइड प्रोग्रामर एक गलती करता है, उदाहरण के लिए पूरे सरणी को रिक्त करें और इसे सहेज लें, हमें एक समस्या होगी। क्या इसमें कोई सर्वोत्तम अभ्यास है, क्या एक क्वेरी में और अधिक नियंत्रण के साथ कई करें?
आप यह भी कर सकते हैं दस्तावेज़ को findOneAndUpdate
के साथ मोंगोज़ का अद्यतन करें अगर खाली सरणी में गलती से जोड़ा गया है, तो आपको को अगर
को खाली करने या अपडेट करने से पहले क्वेरी रिक्त है या नहीं देखना है।
var दिया एक्शन = जेएसओएन। पीआरएस (रेक। एक्शन।); मोंगोस। मॉडल ('एक्शन')। FindOneAndUpdate ({actionId: req.params.actionId}, {$ सेट: {energySavings: givenAction.energySavings}}, कॉलबैक;
आप नए कोड के रूप में जोड़ने के लिए $ push
का उपयोग कर सकते हैं, और $ set < / कोड> इसे अपडेट करने के लिए मुझे नहीं लगता कि यह एक अच्छी पसंद नहीं है एक ऊर्जा स्रोत को अपडेट करें, वस्तुओं को जोड़ने और आइटम निकालें ।
No comments:
Post a Comment