2

我正在尝试使用 500M 文档 (1Tb) 查询 documentDB。

var t1 = Date.now();
'Total X Records:';
db.runCommand({aggregate: "house",
pipeline: [{$project: {'_id': 1, 'foo.x': 1}},
{$match: {'foo.x.y': {$in: ['2018-12-15']}}},
{$unwind: '$foo.x'},
{$match: {'foo.x.y': {$in: ['2018-12-15']}}},
{$group: {'_id': null, 'count': {$sum: 1}}}],
cursor:{},
allowDiskUse: true,
maxTimeMS:0
});

var t2 = Date.now();
print("Time in ms: ")
print(t2-t1);

相同的查询在 mongo cluster (10 mongod) ~1hr 中运行。

当我在 DocumentDB(6 个实例 db.r4.xlarge)中运行相同的查询时,它会在 2 小时后引发错误。

{ "ok" : 0, "errmsg" : "operation was interrupted", "code" : 11601 }
Time in ms: 
7226913
bye
4

2 回答 2

2

AWS DocumentDB 查询使用默认设置在 2 小时后超时。截至目前,它们目前不支持 maxTimeMS 设置。

于 2019-06-12T01:46:45.230 回答
0

目前,不支持 $in。

https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis-aggregation-pipeline.html 支持的数组 opt documentdb

于 2019-06-04T18:26:37.260 回答