mongodb find也许update要用到self或者this的功能(转)

mongodb find或者update要用到self或者this的功能(转)

 

原帖地址:http://www.2cto.com/database/201311/255732.html

mongodb find或者update要用到self或者this的功能
 
比如你 有 一条 记录是 {‘name’:'a','age':1} 在  db.user 里
 
你想给user 里的 所有用户都增加一个字段 'last_name' 然后用 name 的内容 变成
?
1
{‘name’:'a','age':1,'last_name':‘a’}

 

 
这时候你猜是否可以这么写 
?
1
db.user.update({},{$set:{last_name:this.name}})

 

 
当然你这么写会报错
 
网上搜了下 只能这么改
 
?
1
2
3
4
db.user.find().forEach(function (doc) {
          doc.last_name = doc.name;
          db.user.save(doc);
   })

 

 

 

db.N000000001724_c5_call_sheet.find({"CALL_SHEET_ID" : "b006c570-ebe7-4017-8640-0370b663b655"}).forEach(function (doc) {

          doc.CALL_NO_CALLED_NO = [doc.CALL_NO,doc.CALLED_NO];

          db.N000000001724_c5_call_sheet.save(doc); 

   })