FS1360472174 / nosql-mongo

mongo knowledge
4 stars 4 forks source link

aggregation #30

Open FS1360472174 opened 7 years ago

FS1360472174 commented 7 years ago

"memUsage" : 43951, "memLimit" : 33554432,

https://docs.mongodb.com/v3.2/reference/operator/aggregation/sort/

这篇文章说内存排序是从2.6后是10%RAM 到100M。但是实际上在3.4中还是32M限制。

对于sort后面有limit的,mongo从2.4开始只会加载 limit条数据到内存中, skip的时候会做+

FS1360472174 commented 7 years ago

total 与result一起返回,减少一次查询

{ "$group":{ _id:null, total:{$sum:1}, data:{$addToSet:'$tmp'}}
},] 如果需要limit,需要将data这个数组拆开

这样的查询必须要将所有数据加载到内存了。不是很高校,不如查两次 https://stackoverflow.com/questions/20348093/mongodb-aggregation-how-to-get-total-records-count