У меня есть Json большой json данные в большом файле в следующем формате:
{"created_at":"Wed Apr 15 16:59:38 +0000 2020","id":1250468838409490432,"id_str":"1250468838409490432"}
{"created_at":"Thu Apr 16 16:59:38 +0000 2020","id":1250468838404390433,"id_str":"1250468838409490433"}
.....................
.....................
millions of rows
.....................
Я уже пробовал много разных вещей, например:
mongoimport --jsonArray --db YourDatabase --collection YourCollection --file Yourfile.json
Это не помогает и выдает ошибку:
E QUERY [js] uncaught exception: SyntaxError: unexpected token: identifier :
Я также пробовал написать специальную программу python, но это тоже не помогло:
import json
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client['twitter']
collection = db['myCollection']
with open('C:\\myDatata.json') as f:
for line in f:
document = (DBObject) JSON.parse(line)
collection.insert(document)
client.close()
Это дает у меня разные ошибки.
Я понимаю, читая другие ответы, например
Неожиданный конец ввода JSON в MongoDB Compass
Вставьте файл json в mongodb
, что новой строки не должно быть, и все, кроме данных, слишком велико для обработки. Я пробовал то же самое с помощью Compass, но не смог. Когда я копирую одну запись, я могу вставить ее с помощью опции компаса insert data
, но не могу вставить две или более строк. Если я выберу импорт данных и передам свой файл JSON, Compass выдаст ошибку, сообщив об ошибке в данных.
Понятия не имею, что делать. Я ищу какую-то программу python, вероятно, модификацию того, что у меня есть, с помощью которой я могу вставлять данные в БД. Или любой другой способ вставить такой большой документ в базу данных с помощью Compass, командной строки mon go или python.