日期:2014-05-16  浏览次数:20571 次

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

比如你 有 一条 记录是 {‘name’:'a','age':1} 在 ?db.user 里

?

你想给user 里的 所有用户都增加一个字段 'last_name' 然后用 name 的内容 变成{‘name’:'a','age':1,'last_name':‘a’}

?

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

?

当然你这么写会报错

?

网上搜了下 只能这么改

?

?db.user.find().forEach(function (doc) {

           doc.last_name = doc.name;
           db.user.save(doc); 
    })