Exceeded memory limit for $group, but didn't allow external sort. Pass allowDisk

haoge0205發表於2019-10-17

原語句:

db.carMongoDTO.aggregate({'$group':{'_id': {'licensePlates': '$licensePlates'},'uniqueIds': {'$addToSet': '$_id'},'count' : {'$sum': 1}}}, {'$match': {'count': {'$gt': 1}}})


Exceeded memory limit for $group, but didn't allow external sort. Pass allowDiskUse:true to opt in

原因是聚合的結果必須要限制在16M以內操作,(mongodb支援的最大影響資訊的大小),否則必須放在磁碟中做快取( allowDiskUse=True


修改為:

db.carMongoDTO.aggregate([{'$group':{'_id': {'licensePlates': '$licensePlates'},'uniqueIds': {'$addToSet': '$_id'},'count' : {'$sum': 1}}},{'$match': {'count': {'$gt': 1}}},{ "$limit" : 10}],{ allowDiskUse: true })



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28939273/viewspace-2660440/,如需轉載,請註明出處,否則將追究法律責任。

相關文章