我有一个数据库,总记录约为70k。我的查询是一个聚合查询,目前有2个管道,包括排序操作。 查询是
var ObjQuery = { warehouseId: '59d62a43fb452a0f0ba422ba', timeCreated: {'$gte': 1507288594 }}
var pipeline = [{'$match': ObjQuery}, {'$sort': {'timeCreated': 1}}];
var aggregation = itemStoreModel.aggregate(pipeline).allowDiskUse(true);
aggregation.exec(function (err, result) {
if (err)
throw err;
else
res.json({data: result, message: 'Operation Successful.', status: 'success', statusCode: '201'});
});
此查询为我提供了以下错误
error: uncaughtException: aggregation result exceeds maximum document size (16MB) date=Mon Oct 16 2017 16:18:23 GMT+0530 (India Standard Time), pid=16328, uid=null, gid=null, cwd=c:\NODE\avancer\avancer-warehouse, execPath=C:\Program Files\nodejs\node.exe, version=v6.0.0,
我做了很多工作来解决这个问题,但是我发现所有关于mongodb版本的问题< = 2.6。可能存在mongodb v3.4.6中可能不会发生此问题的情况。我在聚合中缺少什么?
欢迎提出意见。