[英]Mongoose not updating embedded document
我在嘗試更新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) {});
並且(注意我已經嘗試添加一個回調到save(),它執行沒有錯誤)
self.userModel.findOne({account: key}, function(err, doc) {
doc.networks = self.client_data[key]['networks'];
doc.markModified('networks').save();
});
任何幫助,將不勝感激! 謝謝!
編輯:
問題是,對象就像是{'some.thing': {more: 'stuff'}}
顯然它不喜歡。 這是可以理解的!
試試doc.markModified('networks');
。 看起來networks
是無模式的。 Mongoose無法自動檢測對無模式類型的更改。
您需要完全定義您的架構才能使其正常工作。 例如:
networks {type:“String”}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.