问题:Exceeded memory limit for $group, but didn't allow external sort. Pass allowDiskUse:true to opt in

mongodb执行管道操作时出现如上错误;

原因:管道操作最大只支持16M的结果,超过就会报错。

解决:增加{allowDiskUse:true},其实错误上已经提醒了。

原来查询语句:

db.report_face.aggregate([{
    "$group": {
        "_id": {
            "aa": "$aa",
            "bb": "$bb"
        },
        timestampList: {
            "$push": {
                "ss": "$ss",
                "dd": "$dd"
            }
        }
    }
}])

改后:

db.report_face.aggregate([{
    "$group": {
        "_id": {
            "aa": "$aa",
            "bb": "$bb"
        },
        timestampList: {
            "$push": {
                "ss": "$ss",
                "dd": "$dd"
            }
        }
    }
}],{allowDiskUse:true})

如上是mongodb的查询语句的更改方法,要是代码中出现的话,再查一下怎么加入{allowDiskUse:true}就好。

有问题望指教,解决了记得点赞。

12-13 11:41