C# mongodb驱动2.2.3如何设置游标的batchSize

2024-01-03

我正在使用 MongoDB 2.2.3 的官方 C# 驱动程序

如何使用 C# 驱动程序设置光标的批量大小?

使用 javascript,我可以创建一个光标并为其设置批量大小:

var cursor = db.statistics.find(query).batchSize(100)

我可以使用以下语句迭代所有项目:

while(cursor.objsLeftInBatch()>0){
    var doc = cursor.next();
    //process doc
}

我希望在 C# 中具有相同的行为并支持 async/await。 我知道我可以使用 C# 中的游标,但它的默认批量大小是 4MB。 这太匹配了,无法通过一次调用返回给客户端。


您可以在中设置批量大小FindOptions的参数FindAsync.

这是显式处理批次的基本模式:

var filter = new BsonDocument();
var options = new FindOptions<BsonDocument>
{
    // Get 100 docs at a time
    BatchSize = 100
};

using (var cursor = await test.FindAsync(filter, options))
{
    // Move to the next batch of docs
    while (await cursor.MoveNextAsync())
    {
        var batch = cursor.Current;
        foreach (var doc in batch)
        {
            // process doc
        }
    }
}

但你也可以打电话ForEachAsync光标上的批次将根据需要透明地获取:

using (var cursor = await test.FindAsync(filter, options))
{
    await cursor.ForEachAsync(doc =>
    {
        // process doc
    });
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# mongodb驱动2.2.3如何设置游标的batchSize 的相关文章

随机推荐

  • EmberJS 嵌套视图和控制器

    我正在使用 EmberJS v1 0 pre 编写一个应用程序 我有一个ArrayController其中包含所有人的列表 有一堆嵌套视图显示人 他们的宠物以及每只宠物的注释 John lt Person Quincy Dog lt Pet
  • django unittest:即使我发送令牌,client.get 错误 401

    我尝试为方法注销创建一个单元测试 我有这个目的 response client get api v1 logout self assertEquals response status code 200 但在我的注销控制器中我有这个 perm
  • 长数字的 JSON 解组给出浮点数

    例如 我使用 golang 编组和解组 JSON 当我想使用数字字段时 golang 将其转换为浮点数 而不是使用长数字 我有以下 JSON id 12423434 Name Fernando After marshal它到地图上并且unm
  • Django 中随机发生运行时错误死锁

    在 Python 3 7 9 中运行 Django 我正在使用通道 因此使用 daphne 但即使我使用 Gunicorn 也会获得相同的结果 下面的错误是随机出现的 ERROR 2021 07 12 11 55 07 478 HTTP G
  • Fortran - lbound 抛出错误 6366“数组表达式的形状不符合”

    所以我又被Fortran弄糊涂了 去搞清楚 不管怎样 我正在尝试编写一个非常简单的例程 将值从数组末尾剥离 一切复杂的工作都很好 除了我想编写子例程 这样我就不必将输入数组的下限传递给它 这是子程序 subroutine Strip lis
  • Linux内核:从内核空间调用用户空间的回调函数

    我正在编写 Linux 用户空间应用程序 我想从内核空间调用用户空间区域中注册的回调函数 即中断到达 GPIO 引脚 开关按下事件 并在用户空间中调用注册函数 有没有什么方法可以做到这一点 Thanks 经过大量挖掘后 我发现了下面的代码
  • 将 HTML 转换为 Word DOC,其中我有输入字段

    从 HTML 转换为 DOC 的问题在于输入字段 是否可以仅从输入字段中提取 DOC 值 而不是直接从浏览器中提取整个元素 HTML 示例 div class source html outer div h1 h1 div div
  • 如何处理bigquery中的动态模式

    我的数据如下所示 第 1 行 id 1 object user metadata name 1234 第 2 行 id 1 object user metadata name 1234 email email protected cdn c
  • 从方案列表中删除所有重复成员

    我正在尝试使用递归删除列表中的重复项 这就是我所拥有的 它仅删除第一个重复项 而不是全部 我的想法是查看第一个成员 检查它是否是列表其余部分的成员 如果是 则再次调用该函数 如果没有 则创建一个包含第一个成员和再次调用该函数的结果的列表 我
  • 如何在单个图表中可视化多态调用?

    首先 看一下这些Java代码 Drawable java package examples simple model public interface Drawable public void draw 形状 java package ex
  • 如何找到jqgrid中的最后一行

    目前我正在研究 jqgrid 我必须找出最后一行并实现 ctrl down 功能 但目前我无法获得最后一排 这里需要有人帮助 提前致谢 如果网格 id 是例如list那么下面的表达式应该返回最后一行 list find gt tbody g
  • 如何使用 clojure 作为 Java 程序的脚本语言?

    对于用 Java 编写的服务器程序 我需要为 待指定的 查询语言添加解释器 用户应该能够将自己编写的查询 程序 发送到该服务器 并接收返回的结果 基本上只是一个字符串列表 查询的语言尚未指定 所以我想在这里使用 clojure 作为脚本语言
  • Google 图表 - 避免在 yAxis 中显示负值

    我有以下代码 function drawVisualization Create and populate the data table var data google visualization arrayToDataTable Year
  • 如何使用python解析ld+json

    我一直在尝试一些网络抓取 并且发现了位于此标签内的一些有趣的数据
  • Swift 中如何判断泛型是否是可选的?

    我想用一个函数扩展一个数组 该函数将返回数组中所有非零项的计数 理想情况下 这适用于任何可选或非可选类型的数组 我尝试了各种方法 但都无法编译 使 Xcode 崩溃或两者兼而有之 我本以为它会是这样的 extension Array fun
  • `const T` 和 `T` 在获取其嵌套类型时没有区别吗?

    include
  • 在 ASP.Net Core 中全局设置日志记录范围

    我想要获取 ASP Net Core 服务中每条日志消息中记录的某些关键信息 服务名称 服务版本 主机名等 我有以下代码 public class Program public static void Main string args va
  • 如何在keras中实现自定义指标?

    我收到此错误 sum 得到了意外的关键字参数 out 当我运行这段代码时 import pandas as pd numpy as np import keras from keras layers core import Dense Ac
  • 如何制作自定义键盘布局?

    为 Windows 制作键盘布局的最佳方法是什么 具体来说 这种布局将出现在 文本服务和输入语言 列表中 而无需购买昂贵的软件 我了解 Microsoft Keyboard Layout Creator 但发现它完全受到限制 因为您无法执行
  • C# mongodb驱动2.2.3如何设置游标的batchSize

    我正在使用 MongoDB 2 2 3 的官方 C 驱动程序 如何使用 C 驱动程序设置光标的批量大小 使用 javascript 我可以创建一个光标并为其设置批量大小 var cursor db statistics find query