微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将包含JSON数组的大文件插入Mongodb数据库

如何解决将包含JSON数组的大文件插入Mongodb数据库

我正在尝试将.json文件中的数据插入mongodb数据库。 .json文件中的数据格式如下: [{“ key1”:“ value11”,“ key2”:“ value12”},{“ key1”:“ value21”,“ key2”:“ value22”},...,{}]

考虑到现实生活中json文件的大小可能很大的情况,我正在尝试使用流将数据插入到mongodb中。因此,到目前为止,我已经尝试过:

var transformStream = JSONStream.parse("*");
var inputStream = fs.createReadStream('./sampledata/filename.json',{encoding:'utf8'});
inputStream.pipe(transformStream)
.on( "data",function handleRecord( data ) {
    mydbCollection.insert(data);
})
.on( "end",function handleEnd() {
    console.log( "JSONStream parsing complete!" );
});

但是当我从mongo shell检查数据库时,没有看到任何数据插入到集合中。 我在这里做错了什么?我是Node js的新手,所以请原谅我的任何愚蠢错误。我已经浏览过类似主题的其他答案,但是在我的案例中我无法理解如何编写JSONStream.parse()的路径。我猜我解析数据的方式出了问题。 我也尝试了另一种方法

mydbCollection.insertMany( fs.createReadStream('./sampledata/filename.json',{encoding:'utf8'}) );

但是随后只有1个对象类型记录被插入到集合中。 我的问题是如何将大型json文件中的所有记录插入数据库

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。