gpt4 book ai didi

mongodb - 将 createView 与 allowDiskUse 结合使用

转载 作者:可可西里 更新时间:2023-11-01 10:19:11 25 4
gpt4 key购买 nike

在 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}。然后创建 View ,但是当我尝试时:

> 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"
}

如何创建包含大型操作的 View ?

最佳答案

为了防止有人发现同样的问题,jira 的 Kyle Suarez 提出了以下解决方法:

 db.newview.aggregate([], { allowDiskUse: true });

也就是说,在 View 上使用聚合解决了这个问题。

关于mongodb - 将 createView 与 allowDiskUse 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41149573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com