当前位置: 首页 > 知识库问答 >
问题:

Mongodb C#查询排序超出内存限制

琴俊人
2023-03-14

我有2周的时间来学习和使用MongoDB,我正在使用DataGridview构建一个简单的WinForm APP。

一切正常,但我添加了超过 1.000.000 个文档,现在它向我显示此错误:

MongoDB.Driver.MongoCommandException:“命令聚合失败:排序超出了 104857600 字节的内存限制,但未选择加入外部排序。正在中止操作。Pass allowDiskUse:true 以选择加入。.”

我已经检查了我所有的周末谷歌如何使用聚合允许磁盘使用:真,但它也不起作用。

谢谢。

public void ReadAllDocuments()
{
    List<Clientes> list = collection.AsQueryable().OrderBy(q => q.Nombre).ToList();

    dataGridView1.DataSource = list;
    if (dataGridView1.Rows.Count > 0)
    {
        textBox1.Text = dataGridView1.Rows[0].Cells[0].Value.ToString();
        textBox2.Text = dataGridView1.Rows[0].Cells[1].Value.ToString();
        textBox3.Text = dataGridView1.Rows[0].Cells[2].Value.ToString();
    }
}

共有2个答案

林念
2023-03-14

你真的需要带走所有的收藏文件吗?

厉文栋
2023-03-14

您应该能够将聚合器选项传递给可查询对象。

collection.AsQueryable(new AggregateOptions { AllowDiskUse = true })

然而,通常情况下,通过排序超过文档限制表明您的查询不是最佳的。您可能需要重新考虑您的数据库设计或查询,以便不必对这么大的数据集进行排序。

 类似资料:
  • 我目前有一个在Google App Engine标准环境中运行的应用程序,其中包括一个大型天气数据数据库和一个生成数据图的前端endpoint。该数据库位于Google云数据存储中,Python Flask应用程序通过NDB库访问它。 我的问题如下:当我试图为跨越一周以上的天气数据生成图表(数据每5分钟存储一次)时,我的应用程序超出了GAE的软私有内存限制并崩溃。然而,在我的每个WeatherDa

  • 我正在使用以下代码从 GridFS 下载文件。 我得到以下错误: 我试图找到一种方法来为GridFS启用,但找不到。

  • 数学成绩从高到低排序 const { field = '' } = ctx.query const fields = ctx.helper.filterFields(field) // 数学成绩从高到低排序 const ret = await Student.findAll({ attributes: fields, order: [ ['math', 'DESC

  • 我很好奇如何处理GAE中的内存限制。目前,我有这个应用程序,需要大量的CPU/内存。 我尝试在GAE上使用b8实例运行它(基本上是使用4.8GHz CPU的顶级实例) 我还尝试手动设置CPU的数量 但无论我做什么,我总是达到同样的记忆限制。。。(见下文) GET500 0 B 43 s Unknown/_ah/start在总共处理0个请求后,超过了2048 MB的软内存限制,达到3163 MB。考

  • 这是一个Leetcode问题374。猜数字高或低。描述如下: 我们在玩猜谜游戏。游戏如下:我从1到n中选择一个数字。你必须猜出我选择了哪个数字。每次你猜错了,我都会告诉你我选的数字是高于还是低于你的猜测。调用预定义的API int guess(int num),它返回三个可能的结果: -1: 您的猜测高于我选择的数字(即num 我的代码如下所示,Leetcode在提交时给了我“超出内存限制”的错误

  • 我们有一个可怕的经验与gae围棋。当我们的应用程序是一个免费的,我们从来没有超过软私有内存限制的问题。我们抢了定额,因此决定付款。我们每天的预算定为3美元。付费服务激活后,我们可以再次使用该网站,超额配额消失了。几个小时后,我们得到了这个超软私有内存限制,除了这个,再也看不到任何东西了。我试图清除数据存储中的一些大数据,禁用内置插件,但仍然没有运气。 我在代码中做了一些测试,以确定故障来自何处。删