google-code-prettify

2015年1月8日 星期四

MongoDB使用forEach進行非固定值update

使用關聯式資料庫時,
如果只是想要簡單的以該筆資料的A欄位狀況來update它的B欄位值,
可以很簡單的用類似以下的SQL進行:
update tableA set column_B = column_A+"-new value" 
where column_C="abc";

在MongoDB中我並沒有發現有像SQL這麼簡單程式碼就可以達到相同的作法, 所以使用forEach的方式來達到同樣的目的:
  1. db.tableA.find({"column_C":"abc"}).forEach(
  2. function(myDoc) {
  3. if (myDoc.column_A == null){
  4. return;
  5. }
  6.  
  7. db.tableA.update({"column_PK":myDoc.column_PK},{ "$set": { "column_B": myDoc.column_A+"-new value"}});
  8.  
  9. }
  10. );

沒有留言:

張貼留言