Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从json文档的文本文件恢复MongoDB集合_Json_Mongodb_Text_Text Files - Fatal编程技术网

从json文档的文本文件恢复MongoDB集合

从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),

我收到了一个文本文件,其中包含数千个json文档(我知道这并不理想)。
我需要把这些文件放到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
保存为BSON文件后,使用mongorestore我也会遇到以下错误:

  • 失败: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之后,它工作得非常好

这不是最好的解决办法,但似乎对我有效