【问题标题】:node.js write mongoDB collection to file using Streams?node.js 使用 Streams 将 mongoDB 集合写入文件?
【发布时间】:2013-08-23 09:58:12
【问题描述】:

我正在使用 node.js 和 streams 尝试将整个 mongoDB 集合转储到文件中,但它不起作用。我怀疑它与老式流和 0.10 流有关,但我可能是错的。

下面的代码也可以在这里找到:github.com

mongodb-collection-dump 也在那个仓库中。

var fs = require('fs');
var dump = require('mongodb-collection-dump');

var collectionDumpFile = '/tmp/collection-dump.json';

var f = fs.createWriteStream(collectionDumpFile);

f.on('open', function() {
  var d = dump('mongodb://127.0.0.1/test_db', 'testcollection', f);
});
d.on('end', function(){
  console.log("done in write");
});

d.on('error', function(err){
  console.log("there was an error");
  console.log(err);
});

【问题讨论】:

  • 你有什么错误吗?
  • 没有错误,只是什么都不做。虽然我可以使用 mongoexport,但我更愿意理解为什么我不能简单地将 mongo 流通过管道传输到 fs 流。

标签: node.js mongodb stream node-mongodb-native fs


【解决方案1】:

您可以使用mongodumpmongoexport 来创建mongodb 转储。

mongodump 不仅可以备份和存储数据,还可以存储大量关于集合的元数据,例如索引。您也可以将其调用到特定的数据库 (-d) 以及集合 (-c)。

要从 node.js 执行此操作,请使用 child_process

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 2014-03-25
    • 2017-11-28
    • 1970-01-01
    • 2017-04-20
    • 2016-01-29
    相关资源
    最近更新 更多