我有一個文檔中的mongodatabase只有在與數據庫不同的情況下才更新文檔?
user:{
name:'bruce',
surname:'wayne',
job:'batman',
email:'[email protected]',
}
所以當用戶更新信息,我必須:
- 查詢到數據庫中,如果用戶存在
- 是否存在得到數據庫 的值
- 將數據庫的值與用戶發送的表單值進行比較
- 如果來自數據庫的值相等,則放棄操作
- 如果從數據庫中的值是diferent,更新值與窗體值
- 靠近db和sent.response
所以在這種情況下,如果用戶發送這樣的:
form.newUserInfo:{
name:'bruce albert',
surname:'wayne',
job:'batman only at night',
email:'[email protected]',
}
只是更新名稱和工作。
有沒有什麼辦法可以在6個步驟之內做到這一點?我正在使用nodejs v0.10,mongodb 2.2.3,expressjs和mongoskin v0.5
如果新值與舊值相同,替換它們會帶來什麼樣的危害?請更新您的問題,以包含一些關於_why_您嘗試這樣做的信息,這可以幫助他人回答您的問題。 – 2013-03-18 00:19:55
我同意馬丁,你用這六個步驟獲得了什麼?如果兩個人同時編輯記錄,他們仍然會覆蓋彼此的變化。 – robertc 2013-03-18 00:22:13
如果新值與舊值相同,則替換它們是沒有問題的,因爲它們與舊的相同,但它是否有變更只有不同的值另一個問題是當用戶第一次插入值時...我要先檢查是否存在.. – andrescabana86 2013-03-18 00:36:08