2
問候所有,貓鼬更新嵌入文檔不起作用
我定義了一個深深嵌入貓鼬模型「人」,其中包含字段,「聯繫人」和「聯繫人」有「地址」的這個人是一個數組工作,家庭,送貨等地址。
當我想更新一個地址,並使用模型的「保存」功能時,更改沒有反映在數據庫中。
console.log(person.Contact.Address[i].City = 'Chicago');
person.save(function (err) {
if (!err) {
console.log(person.Contact.Address[i].City);
console.log指示字段City已更新爲新值,但mongodb的值保持不變。
你能幫我解決這個問題嗎?
謝謝!不過
person.markModified('Contact.Address');
person.save()
不知道,當我需要使用markModified
,因爲在大多數其他情況下的變化反映在MongoDB中不使用它: 加里
我認爲這與混合數據類型有關 – franzlorenzon 2013-02-26 11:12:11
您的模式中任何一個'type'爲'Mixed',{},Array,[]'的字段在其內容爲「時」需要使用'markModified'改變。否則你不需要它。 – JohnnyHK 2013-02-26 12:59:37
僅供參考,'markModified'只會在同一個請求中工作一次。如果您嘗試將其重複用於相同的請求,則可能會導致重複的輸入錯誤。 – BlueSword 2016-10-20 18:38:46