mongodb - 如何使用 nodejs 流式传输 MongoDB 查询结果?

我一直在寻找如何将 MongoDB 查询的结果流式传输到 nodejs 客户端的示例。到目前为止,我发现的所有解决方案似乎都是一次读取查询结果,然后将结果发送回服务器。

相反,我(显然)希望为查询方法提供一个回调,并让 MongoDB 在结果集的下一个 block 可用时调用它。

我一直在研究 mongoose - 我应该使用不同的驱动程序吗?

一月

最佳答案

node-mongodb-driver (每个 mongoDB 客户端在 nodejs 中使用的底层)除了其他人提到的游标 API 有一个不错的流 API(#458)。不幸的是,我没有在其他地方找到它。

更新:there are docs .

可以这样使用:

var stream = collection.find().stream()
stream.on('error', function (err) {
  console.error(err)
})
stream.on('data', function (doc) {
  console.log(doc)
})

它实际上实现了 ReadableStream 接口(interface),所以它拥有所有的优点(暂停/恢复等)

https://stackoverflow.com/questions/7372626/

相关文章:

javascript - 如何在 MongoDB 中对集合记录中的数组进行排序?

mongodb - 异常 : can't convert from BSON type EOO to

mongodb - 复制/克隆 mongodb 数据库及其数据

mongodb - 奇怪的 mongodb 和 mongoose 错误 : not master a

mongodb - 如何将 mongodb 数据库转移到另一台看不到第一个的机器上

mongodb - 更新 Mongodb 中的嵌入文档属性

javascript - MongoDB mongoose 弃用警告

mongodb - 无法启动mongodb服务

mongodb - 使用 apt-get 安装 mongodb-10gen 失败

mongodb - 在 MongoDB 中,如果删除了集合,索引也会自动删除吗?