json - 从 json 文档的文本文件恢复 MongoDB 集合
问题描述
我得到了一个文本文件,其中包含数千个 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 我收到此错误消息:
Failed: invalid JSON input. Position: 16. Character: O
保存为 BSON 文件后,使用 mongorestore 我也收到此错误:
Failed: db.collection: error restoring from file.bson: reading bson input: invalid BSONSize: 537534587 bytes
任何帮助将不胜感激!
解决方案
我设法使用 Studio3T 的导入功能成功导入了文档。
在将文本文件重命名为 JSON 文件并让 Studio 3T 在导入前验证 JSON 之后,它运行良好。
不是最好的解决方案,但它似乎对我有用。
推荐阅读
- java - 为什么变量会影响之前评估过的其他数组列表?
- png - 在 PNG 中使用 pHYs 块
- javascript - 我如何在 addEventListener 中添加多个事件?(没有jq)
- javascript - 在函数调用中更改状态并发送 API 调用的值
- authentication - Hashicorp-Vault AppRole Auth Method 和 Userpass Auth Method 的主要区别是什么?
- swift - 在不使用用户默认值的情况下,检测暗模式的最佳方法是 OSX 是什么?
- sql - Oracle- 执行同时查询会影响它们的性能吗?
- sql - 如何从sql server中的所有记录中删除最后一个单词
- oracle - 某些类型的用户执行脚本时如何忽略 Oracle pl/sql 中的编译错误
- node.js - 如何从进入语音频道的人那里获取用户 ID?(看)