1、Distinct聚合查询报错
db.users.distinct(“uname”)db.runCommand({“distinct”:”users”,”key”:”uname”})在数据量很大的时候,使用这种方法查询时,查询的结果集大于16M 时会查询失败,失败信息如下: 比如要对名字字段name进行distinctdb.XX.distinct(‘imsi’)报错如下: [main] Error: distinct failed: { “ok” : 0, “errmsg” : “distinct too big, 16mb cap”, “code” : 17217, “codeName” : “Location17217”} :
解决办法:改成用聚合方式
db.XX.aggregate([{$group:{_id:{‘imsi’:”$imsi”},count:{$sum:1}}}],{ allowDiskUse: true})