c# - C# MongoDB - 从数据库中读取一条记录并将其写入流
问题描述
我正在尝试从我的数据库中返回所有记录。这个集合比较大(250MB),所以我无法将它加载到内存中。我的想法是单独加载每条记录并将其写入NetworkStream
.
我的问题:
客户端关闭连接后await writer.WriteLineAsync();
(我试图离开这条线但没有工作)
我的代码:
var writer = new StreamWriter(stream, null, -1, true);
await writer.WriteLineAsync($"HTTP/1.1 200 OK");
await writer.WriteLineAsync($"Content-Type: application/json charset-utf8");
await writer.WriteLineAsync($"Transfer-Encoding: chunked");
await writer.WriteLineAsync();
using (var cursor = await collection.FindAsync(new BsonDocument()))
{
while (await cursor.MoveNextAsync())
{
var batch = cursor.Current;
foreach (var document in batch)
{
byte[] data = Encoding.UTF8.GetBytes(document.ToString());
await stream.WriteAsync(data, 0, data.Length);
}
}
}
感谢您的帮助!
解决方案
推荐阅读
- java - Play Framework 上的 Java Socket 打印在 Windows 中变慢
- javascript - 将剃刀页面显示为模式弹出窗口
- javascript - 获取触发事件的元素(节点)
- github - 将项目从github等导入到自己的IDE需要大量工作(有时根本不起作用)是否正常
- gtk3 - 如何使用 GtkSourceView 库应用样式
- c# - Binding generic data to DataGridView
- django - 如何从模型创建数据框(Django)
- pagination - Azure CosmosDB 意外分页行为
- javascript - 无法获得具有特定类名的正确数量的按钮
- python - 搜索 csv 文件的最快方法是什么?