mongodb 字段数据修改

打印每条数据的bulletin字段
db.Anhui.find(
    {'bulletin':{'$ne':null}, 'bulletin':{'$regex':".*?😊"}}
).limit(10).forEach( 
     function(item) {
        print(item.bulletin);
    } 
);


实现某个字段数据的修改
初始思路: update中set用{$where function(){}} 不支持
解决方案: 遍历查询结果,对结果逐一保存.
另一技术问题:{'$set':{'bulletin':db.eval(function() {return '111'+this.bulletin; }) }} 
            this不识别 db.eval(function(){}) 执行函数,db.eval is deprecated(弃用)

db.Anhui.find({'bulletin':{'$ne':null}, 'bulletin':{'$regex':".*?😊"}}).
  forEach( 
    function(item) {
        var tmp = String(item.bulletin)
        // tmp = tmp.replace('🐓','鸡').replace('🍚','米').replace('❌','差')
        tmp = tmp.match(/[\u4e00-\u9fa5()《》——!|、·?‘’¥;:…,。“”\x00-\xff]/g)
        if (tmp == null){
            print(item.bulletin)   
        }
        else{
            tmp = tmp.join('');
        }
        item.bulletin = tmp ;
        db.Anhui.save(item);
    } 
  );
    原文作者:领悟悟悟悟
    原文地址: https://www.jianshu.com/p/a5fc104bf27d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞