使用Mongoose将大型CSV文件流式传输到MongoDB数据库中



寻找一种有效而快速的方法,将大型(1000万行)的CSV数据流式传输到猫咪数据库中。

出现的问题是处理流媒体而不是导入可以用fs.CreateReadStream解决的问题(尽管仍在学习如何使用它),以及如何使用Mongoose来处理将大量数据插入MongoDB,因为过载Mongoose/带有插入请求的mongo可能会导致一些错误。

您只需要'流到mongo-db'和'csvtojson'npm库。这是我用来从Big CSV文件中转载数百万个记录的示例代码。它只是有效!

const fs = require('fs');
const csv = require('csvtojson');
const streamToMongoDB = require('stream-to-mongo-db').streamToMongoDB;
const csvFile = './bigFiles.csv';
const dbURL = 'mongodb://localhost/tweets';
const collection = 'tweets';
fs.createReadStream(csvFile)
  .pipe(csv())
  .pipe(streamToMongoDB({ 
  	dbURL : dbURL, collection : collection
  }))

猫鼬中有一个insertmany()方法。但这只能让您仅一次插入10 000个文档。.我的解决方案是使用该方法对循环循环循环并插入untll untll。

相关内容

  • 没有找到相关文章

最新更新