MongoDB查询执行时间需要很长时间

时间:2016-08-01 10:07:28

标签: mongodb mongodb-query

我创建了一个用于计算平均值的查询

db.voltage.aggregate([
    {
$match: {
    $and: [ 
            {EventTS: {$gte: ISODate("2016-07-01T00:00:00.000+0000")}},
            {EventTS: {$lte: ISODate("2016-07-31T00:00:00.000+0000")}}
        ]
    }
},
    {$project: {
        date: {
          $dateToString: {format: "%Y-%m-%d", date: "$EventTS"}},
          KeyValues:1
    }},

    {$unwind: '$KeyValues'},
    {$project: {
       date: 1,
       RVoltage: '$KeyValues.RVoltage',
       YVoltage: '$KeyValues.YVoltage',
       BVoltage: '$KeyValues.BVoltage'
    }},
    {$group: {
        _id: '$date',
        ravg: {$avg: '$RVoltage'},
        yavg: {$avg: '$YVoltage'},
        bavg: {$avg: '$BVoltage'}
    }},
    {$sort: {_id: 1}}
])

我的收藏包含

    { 
    "_id" : ObjectId("5790f9407ffbe031fa2049e3"), 
    "EventTS" : ISODate("2016-07-01T04:30:00.000+0530"), 
    "KeyValues" : [
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 222.52
        }
    ]
}
{ 
    "_id" : ObjectId("5790f9407ffbe031fa2049e4"), 
    "EventTS" : ISODate("2016-07-01T05:30:00.000+0530"), 
    "PanelID" : "A01699", 
    "KeyValues" : [
        {
            "RVoltage" : 233.28
        },  
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 233.37
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }
    ]
}
{ 
    "_id" : ObjectId("5790f9407ffbe031fa2049e8"), 
    "EventTS" : ISODate("2016-07-01T05:30:00.000+0530"), 
    "PanelID" : "A00795", 
    "KeyValues" : [
        {
            "RVoltage" : 238.72
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 237.08
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 235.2
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 238.14
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }
    ]
}
{ 
    "_id" : ObjectId("5790f9407ffbe031fa2049ec"), 
    "EventTS" : ISODate("2016-07-01T05:30:00.000+0530"), 
    "PanelID" : "A00540", 
    "KeyValues" : [
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 249.01
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 246.49
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 246.78
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 247.47
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }
    ]
}
{ 
    "_id" : ObjectId("5790f9407ffbe031fa2049ed"), 
    "EventTS" : ISODate("2016-07-01T05:30:00.000+0530"), 
    "PanelID" : "A00946", 
    "KeyValues" : [
        {
            "RVoltage" : 248.67
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 249.91
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 248.82
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 247.01
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }
    ]
}
{ 
    "_id" : ObjectId("5790f9407ffbe031fa2049ee"), 
    "EventTS" : ISODate("2016-07-01T05:30:00.000+0530"), 
    "PanelID" : "A01132", 
    "KeyValues" : [
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 230.79
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }
    ]
}
{ 
    "_id" : ObjectId("5790f9407ffbe031fa2049f0"), 
    "EventTS" : ISODate("2016-07-01T05:30:00.000+0530"), 
    "PanelID" : "A01006", 
    "KeyValues" : [
        {
            "RVoltage" : 262.01
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 261.21
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 261.18
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : 261.61
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }
    ]
}
{ 
    "_id" : ObjectId("5790f9407ffbe031fa2049f4"), 
    "EventTS" : ISODate("2016-07-01T05:30:00.000+0530"), 
    "PanelID" : "A01682", 
    "KeyValues" : [
        {
            "RVoltage" : 232.93
        }, 
        {
            "RVoltage" : null
        }, 
        {
            "RVoltage" : null
        }, 
        {

当我执行此查询时,超过500k记录需要超过30秒。我的查询有什么问题以及为什么要花时间执行?

0 个答案:

没有答案