Jestem nowy w MongoDB. Po zainstalowaniu MongoDB w systemie Windows próbuję wstawić prosty plik json za pomocą następującego polecenia:
C:\>mongodb\bin\mongoimport --db test --collection docs < example2.json
Otrzymuję następujący błąd:
connected to: 127.0.0.1
Fri Oct 18 09:05:43.749 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Field name expected: offset:43
Fri Oct 18 09:05:43.750
Fri Oct 18 09:05:43.750 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Expecting '{': offset:0
Fri Oct 18 09:05:43.751
Fri Oct 18 09:05:43.751 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Field name expected: offset:42
Fri Oct 18 09:05:43.751
Fri Oct 18 09:05:43.751 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Expecting '{': offset:0
Fri Oct 18 09:05:43.751
Fri Oct 18 09:05:43.752 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Field name expected: offset:44
Fri Oct 18 09:05:43.752
Fri Oct 18 09:05:43.752 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Expecting '{': offset:0
Fri Oct 18 09:05:43.752
Fri Oct 18 09:05:43.752 check 0 0
Fri Oct 18 09:05:43.752 imported 0 objects
Fri Oct 18 09:05:43.752 ERROR: encountered 6 error(s)s
example2.json
{"FirstName": "Bruce", "LastName": "Wayne",
"Email": "[email protected]"}
{"FirstName": "Lucius", "LastName": "Fox",
"Email": "[email protected]"}
{"FirstName": "Dick", "LastName": "Grayson",
"Email": "[email protected]"}
Co muszę zrobić, aby zaimportować nowy plik json do mongodb?
Odpowiedzi:
Posługiwać się
Prawdopodobnie jest to bałagan z powodu znaków nowej linii.
źródło
Poniższe polecenie zadziałało dla mnie
kiedy usunąłem dodatkowy znak nowej linii przed
Email
atrybutem w każdym z dokumentów.example2.json
{"FirstName": "Bruce", "LastName": "Wayne", "Email": "[email protected]"} {"FirstName": "Lucius", "LastName": "Fox", "Email": "[email protected]"} {"FirstName": "Dick", "LastName": "Grayson", "Email": "[email protected]"}
źródło
To zadziałało dla mnie - (z muszli mongo)
var file = cat('./new.json'); # file name use testdb # db name var o = JSON.parse(file); # convert string to JSON db.forms.insert(o) # collection name
źródło
Użyj poniższego polecenia podczas importowania pliku JSON
źródło
następujące dwa sposoby działają dobrze:
C:\>mongodb\bin\mongoimport --jsonArray -d test -c docs --file example2.json C:\>mongodb\bin\mongoimport --jsonArray -d test -c docs < example2.json
jeśli kolekcje należą do określonego użytkownika, możesz użyć
-u -p --authenticationDatabase
źródło
źródło
To rozwiązanie dotyczy komputerów z systemem Windows.
MongoDB potrzebuje katalogu danych do przechowywania danych. Domyślna ścieżka to
C:\data\db
. Jeśli nie masz katalogu danych, utwórz go na dysku C :. (PS: data \ db oznacza, że istnieje katalog o nazwie „db” w katalogu „data”)Umieścić json chcesz importować w tej ścieżce:
C:\data\db\
.Otwórz wiersz polecenia i wpisz następujące polecenie
mongoimport --db databaseName --collections collectionName --file fileName.json --type json --batchSize 1
Tutaj,
źródło
W MS Windows polecenie mongoimport musi być uruchamiane w normalnym wierszu poleceń systemu Windows, a nie z wiersza polecenia mongodb.
źródło
Zdarzyło mi się to kilka tygodni temu. Wersja mongoimport była zbyt stara. Po zaktualizowaniu do najnowszej wersji program działał pomyślnie i zaimportował wszystkie dokumenty.
Źródła: http://docs.mongodb.org/master/tutorial/install-mongodb-on-ubuntu/?_ga=1.11365492.1588529687.1434379875
źródło
W MongoDB Aby wstawić dane tablicy Json z pliku (z określonej lokalizacji z systemu / komputera) za pomocą polecenia powłoki mongo. Podczas wykonywania poniższego polecenia polecenie powinno znajdować się w jednej linii.
Plik JSON: card_type_authorization.json
[{ "code": "visa", "position": 1, "description": "Visa", "isVertualCard": false, "comments": "" },{ "code": "mastercard", "position": 2, "description": "Mastercard", "isVertualCard": false, "comments": "" }]
źródło
Otwórz wiersz polecenia oddzielnie i sprawdź:
C: \ mongodb \ bin \ mongoimport --db nazwa_db --collection nazwa_kolekcji <nazwa_pliku.json
źródło