मुझे काफी समस्या है जबकि मैं mongodb में एक एम्बेडेड दस्तावेज़ को अपडेट करने का प्रयास कर रहा हूं। मैंने दो तरीकों की कोशिश की है और न ही काम किया है, और मैंने हर जगह खोज की है कि यह क्यों अपडेट नहीं हो रहा है। वैसे भी, मेरी स्कीमा इस तरह दिखती है (मुझे लगता है कि एम्बेडेड दस्तावेज़ जिसे मैं अपडेट करने का प्रयास कर रहा हूं वह एक मिश्रित प्रकार है)।मोंगोस एम्बेडेड दस्तावेज़ को अपडेट नहीं कर रहा है
var UserModel = new mongoose.Schema({
account: String,
salt: String,
password: String,
highlight_words: String,
networks: {},
ip: String,
ident: String,
is_connected: Boolean,
account_type: String
});
मैंने कोड के इन दो स्निपेट के साथ 'नेटवर्क' को अपडेट करने का प्रयास किया है और न ही काम करता हूं। मैं अपने बालों को खींचने वाला हूं।
self.userModel.update({account: key}, {networks: self.client_data[key]['networks']}, function(err) {});
और (ध्यान दें कि मैं को बचाने के लिए() एक कॉलबैक जोड़ने की कोशिश की है, और यह त्रुटि के बिना निष्पादित करता है)
self.userModel.findOne({account: key}, function(err, doc) {
doc.networks = self.client_data[key]['networks'];
doc.markModified('networks').save();
});
किसी भी मदद की सराहना की होगी! धन्यवाद!
संपादित करें:
समस्या यह है कि वस्तु इतनी {'some.thing': {more: 'stuff'}}
की तरह था स्पष्ट रूप से इसे पसंद नहीं किया था। जो समझ में आता है!
'self.client_data [कुंजी] [ 'नेटवर्क']' का मूल्य क्या है? अपने डिबगिंग में मदद के लिए इसे कुछ अक्षर के साथ बदलने का प्रयास करें। – paulmelnikow
यह काफी बड़ी वस्तु है, मुझे पता है कि यह एक तथ्य के लिए है हालांकि यह आबादी है। मैंने इसे 'doc.networks = {test: 123}' के साथ बदलने की कोशिश की; और अभी भी दस्तावेज़ को सहेज नहीं लिया .. – rickibalboa
पहले संस्करण में भी, मैं अनुमान लगा रहा हूं? किसी भी मौके से यह कुछ भी मेल नहीं खा रहा है? क्या हटाएं ({खाता: कुंजी}) 'काम? – paulmelnikow