问题描述
我正在尝试将.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 (将#修改为@)