簡體   English   中英

嗨,如何跳過未更改值的更新,並對 MongoDB 和 nodejs 中的更改值執行更新操作

[英]Hi ,how can skip the update of unchanged value and will perform update operation on changed value in MongoDB and nodejs

我必須將一些對象數據從 angular 反應形式發送到 MongoDB,因為 object 一些值將被更改,而一些值將被更改,我使用如下代碼

db.findByIdAndUpdate({_id:id},{item1:value1,item2:value2,item3:value3})

如果任何值,即 value1 或 value2 或 value3 正在改變,那么更新操作就可以了,但沒有任何改變,那么如何跳過這個更新,我想這樣做是因為我想避免不必要的服務器交互

tl;dr--您不能跳過與數據庫的交互。

基本上,您只想在用戶在 UI 上更改其值之一時更新數據庫中的記錄。 這意味着您有相同記錄的兩個不同版本:一個在 UI 中,一個在 DB 中。 如果您要將 UI 從 UI 發送到數據庫,則基本上有兩種選擇:

  1. 從 UI 保存版本,無論數據庫中有什么
  2. 從數據庫中檢索值並進行比較; 如果它們不同,則從 UI 中保存版本

您可能已經注意到,第一個選項平均與數據庫的交互較少。 如果您的服務器和數據庫之間的延遲很高,這很好。

但是,另一方面,第二個選項的寫入次數少於第一個選項。 如果對同一記錄的並發寫入很常見,並且它們會導致超時,那么這可能是您的最佳選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM