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的方式來達到同樣的目的:
db.tableA.find({"column_C":"abc"}).forEach( 
    function(myDoc) { 
        if (myDoc.column_A == null){
            return;
        }

        db.tableA.update({"column_PK":myDoc.column_PK},{ "$set": { "column_B": myDoc.column_A+"-new value"}});

    } 
);  

沒有留言:

張貼留言