所以,我正在运行我觉得应该是一个相对简单的查询。基本上我只是将特定字段中所有列表的长度相加。
我在数据库中有大约250k个文档,每个文档大约200kb。查询如下所示,这是一个非常基本的聚合,但它目前需要大约30分钟才能运行。有什么办法可以加快速度吗?我觉得愚蠢的是,总计250k元素需要半个小时。
db.user_data.aggregate([{$group: {_id: null, count: {$sum: {$size: "$text"}}}}])
我正在使用运行14.04的m3.large ec2实例运行规范。
答案 0 :(得分:-1)
您可以尝试使用$unwind
,看看它是否更快:
db.user_data.aggregate([{$project:{text:1, _id:0}}, {$unwind:"$text"},
{$group: {_id: null, count: {$sum: 1}}}])