zoukankan      html  css  js  c++  java
  • MongoDb查询

    //数据转换类型mongodb过滤数据并聚合
    db.IotMeterGasUsedRecord_2020.aggregate([{
       // 获取字段 
      $project: {
            _id: 0,
         // 类型转换
            RecordUsedValue: {
                $toDouble: {
                    $substrBytes: ["$RecordUsedValue", 0, 4]
                }
            },
            RecordUserId: 1
        }
    }, {
        $group: {
            _id: "$RecordUserId",
            RecordUsedValue: {
                $sum: ("$RecordUsedValue")
            }
        }
    }]);
    //过滤重复数据
    db.IotMeterUnReportRecord_2021.aggregate([
        {
            $group:{_id:{RecordUserId:'$RecordUserId',RecordYear:'$RecordYear',RecordMonth:'$RecordMonth',RecordDay:'$RecordDay'},count:{$sum:1},dups:{$addToSet:'$_id'}}
        },
        {
            $match:{count:{$gt:1}}
        }
    
        ])    
        .forEach(function(it){
          // 所动首条
             it.dups.shift();
                db.IotMeterUnReportRecord_2021.remove({_id: {$in: it.dups}});
    
        });
    db.IotMeterUnReportRecord_2020.aggregate([
        {
            $group:{_id:{RecordUserId:'$RecordUserId',RecordYear:'$RecordYear',RecordMonth:'$RecordMonth',RecordDay:'$RecordDay'},count:{$sum:1},dups:{$addToSet:'$_id'}}
        },
        {
            $match:{count:{$gt:1}}
        }
    
        ]).forEach(function(it){
    
             it.dups.shift();
                db.IotMeterUnReportRecord_2020.remove({_id: {$in: it.dups}});
    
        });
    
    
    
     
    取分组条数
    db.getCollection('IotMeterUnReportRecord_2021').aggregate([{
        $group: {
            _id: "$RecordUserId",
            id: {
                $first: "$_id"
            }
        }
    }, {
        $project: {
            _id: 0,
            id: "$id"
        }
    }, {
        $sort: {
            RecordAddDate: - 1
        }
    }, {
        $skip: 10
    }, {
        $limit: 10
    }])
    
    
    db.getCollection('IotMeterUnReportRecord_2021').aggregate([{
        $group: {
            _id: "$RecordUserId",
            id: {
                $first: "$_id"
            },
            count: {
                $sum: 1
            }
        }
    }, {
        $project: {
            _id: 0,
            id: "$id"
        }
    }, {
        $sort: {
            RecordAddDate: - 1
        }
    }, {
        $group: {
            _id: "$id",
            count: {
                $sum: 1
            }
        }
    }, {
        $group: {
            _id: "$count",
            count: {
                $sum: 1
            }
        }
    }])

  • 相关阅读:
    折半枚举(双向搜索)
    弹性碰撞
    集合的整数表示
    反转(开关问题)
    尺取法
    floor函数用法
    二分搜索
    4. 差分约束系统
    二叉树的表达式求值
    关于移动app开发的一些不错的站点
  • 原文地址:https://www.cnblogs.com/happen-/p/14582082.html
Copyright © 2011-2022 走看看