MongoDb批量插入限制问题

好吧

我是mongo和node的新人。我试图将一个csv上传到mongodb中。

步骤包括:

  1. 读取csv。
  2. 将其转换为JSON。
  3. 将其推送到mongodb。

我使用'csvtojson'模块将csv转换为json并使用代码推送了它:

MongoClient.connect('mongodb://127.0.0.1/test', function (err, db) { //connect to mongodb   
    var collection = db.collection('qr');
    collection.insert(jsonObj.csvRows, function (err, result) {
        console.log(JSON.stringify(result));
        console.log(JSON.stringify(err));
    });
    console.log("successfully connected to the database");
    //db.close();
});

这段代码在csv最大为4mb的情况下可以正常工作;不仅如此,它不起作用。

我试图解决错误

console.log(JSON.stringify(err));

它回来了 {}

注意:我的是32位系统。

是否因为32位系统的文件限制为4mb?

我处于无法限制csv文件中属性的大小和编号的情况(即,代码将处理各种csv文件)。那么如何处理呢?我有可用的模块吗?

尼尔·伦恩

如果您在将csv解析为JSON时没有问题(大概不是),那么也许可以将列表大小限制为insert

如我所见,该.csvRows元素是一个数组,因此与其一次发送所有元素,不如将其切成薄片并在插入调用中批处理这些元素,不如一次发送元素的数量似乎是问题的原因,而不是大小。将数组拆分为几个插入而不是1个应该有帮助。

尝试500,然后1000,依此类推,直到找到满意的中度。

编码方式:

var batchSize = 500;
for (var i=0; i<jsonObj.csvRows.length; i += batchSize) {
    var docs = jsonObj.csvRows.slice(i, i+(batchSize -1));
    db.collection.insert( docs, function(err, result) {
        // Also don't JSON covert a *string*
        console.log(err);

        // Whatever
    }
}

并这样做chunks

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CSV 文件的批量插入问题

来自分类Dev

MongoDB批量插入忽略重复

来自分类Dev

在MongoDB中批量插入GridFS

来自分类Dev

批量插入MongoDB和NodeJ

来自分类Dev

在Replicaset上批量插入MongoDB

来自分类Dev

限制mongodb插入的数量

来自分类Dev

SQL Server sqlcmd导出/批量插入问题

来自分类Dev

EF ObjectContext中的批量插入性能问题

来自分类Dev

SQL Server sqlcmd导出/批量插入问题

来自分类Dev

问题批量插入elasticsearch curl powershell

来自分类Dev

使用R批量插入/更新到mongoDB

来自分类Dev

Mongodb ID关于批量插入性能

来自分类Dev

在流星或节点中批量插入mongodb

来自分类Dev

在MongoDB中批量插入原子吗

来自分类Dev

MongoDB:批量插入(Bulk.insert)与插入多个(insert([...]))

来自分类Dev

批量插入

来自分类Dev

如何限制MongoDB中的DUPLICATE EMAILS插入?

来自分类Dev

MongoDB 使用 PHP 插入集合限制

来自分类Dev

在批量插入中使用FORMATFILE的问题-转换数字

来自分类Dev

使用全部批量插入时出现问题

来自分类Dev

在批量插入中使用FORMATFILE的问题-转换数字

来自分类Dev

从FTP批量插入SQL Server:文件路径问题

来自分类Dev

MongoDB批量运算符,如果不存在则插入

来自分类Dev

MongoDB批量插入已存在许多文档的位置

来自分类Dev

Mongodb检查重复记录以进行批量插入

来自分类Dev

通过Ubuntu终端批量将CSV文件插入MongoDB吗?

来自分类Dev

Mongodb检查重复记录以进行批量插入

来自分类Dev

批量插入不插入

来自分类Dev

将记录插入MongoDB的Python问题