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); 

   })

猜你喜欢

转载自jyqc688.iteye.com/blog/1989805