在 mongo 聚合框架中可以使用该选项{allowDiskUse:true}
。当一些繁重的操作(例如排序)无法在内存中执行时,这非常有用。
我正在尝试做同样的事情createView
(在 Mongo 3.4 中可用),但我找不到地方allowDiskUse
可以介绍一下。
在正常的聚合框架中:
db.mydb.aggregate([....,{$sort:{"a":-1}}],{allowDiskUse:true})
有效,但是:
db.createView("newview","mydb",[....,{$sort:{"a":-1}}],{allowDiskUse:true})
产生错误
The field 'allowDiskUse' is not a valid collection option.
当然,我可以直接删除{allowDiskUse:true}
。然后创建视图,但是当我尝试时:
> db.newview.find()
Error: error: {
"ok" : 0,
"errmsg" : "Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting. Aborting operation. Pass allowDiskUse:true to opt in.",
"code" : 16819,
"codeName" : "Location16819"
}
如何创建包含大型操作的视图?