从json文档的文本文件恢复MongoDB集合
我收到了一个文本文件,其中包含数千个json文档(我知道这并不理想)。从json文档的文本文件恢复MongoDB集合,json,mongodb,text,text-files,Json,Mongodb,Text,Text Files,我收到了一个文本文件,其中包含数千个json文档(我知道这并不理想)。 我需要把这些文件放到mongodb集合中 到目前为止,我已经将文本文件保存为JSON并尝试mongoimport,在每个文档之间添加逗号,并尝试使用bson等效的mongorestore,但都没有成功 以下是文本文件中内容的示例: { "_id" : ObjectId("78ahgodjaodj90231"), "date" : ISODate("1970-01-01T00:00:00+0000),
我需要把这些文件放到mongodb集合中 到目前为止,我已经将文本文件保存为JSON并尝试mongoimport,在每个文档之间添加逗号,并尝试使用bson等效的mongorestore,但都没有成功 以下是文本文件中内容的示例:
{
"_id" : ObjectId("78ahgodjaodj90231"),
"date" : ISODate("1970-01-01T00:00:00+0000),
"comment" : "Hello"
}
{
"_id" : ObjectId("99151gdsgag5464ah"),
"date" : ISODate("1970-01-02T00:00:00+0000),
"comment" : "World"
}
等等
使用mongoimport,我收到以下错误消息:
失败:JSON输入无效。职位:16。字符:O
失败:db.collection:从文件还原时出错。bson:读取bson输入:无效bson大小:537534587字节
任何帮助都将不胜感激 假设文件中有以下数据:
{
"_id" : ObjectId("78ahgodjaodj90231"),
"date" : ISODate("1970-01-01T00:00:00+0000),
"comment" : "Hello"
}
{
"_id" : ObjectId("99151gdsgag5464ah"),
"date" : ISODate("1970-01-02T00:00:00+0000),
"comment" : "World"
}
我们需要将其重构为如下代码,并使用.js
扩展名保存,比如insert_data.js
db.collection.insertMany([
{
"_id" : ObjectId("78ahgodjaodj90231"),
"date" : ISODate("1970-01-01T00:00:00+0000),
"comment" : "Hello"
},
{
"_id" : ObjectId("99151gdsgag5464ah"),
"date" : ISODate("1970-01-02T00:00:00+0000),
"comment" : "World"
}
])
最后运行以下命令:
mongo HOST:PORT/DB insert_data.js
我使用Studio3T的导入功能成功导入了文档 在将文本文件重命名为JSON文件,并让Studio 3T在导入之前验证JSON之后,它工作得非常好 这不是最好的解决办法,但似乎对我有效