web-dev-qa-db-de.com

Fügen Sie die Json-Datei in Mongodb ein

Ich bin neu in Mongodb. Nach der Installation von Mongodb unter Windows versuche ich, eine einfache Json-Datei mit folgendem Befehl einzufügen:

C:\>mongodb\bin\mongoimport --db test --collection docs < example2.json

Ich erhalte folgende Fehlermeldung:

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

beispiel2.datei

{"FirstName": "Bruce", "LastName": "Wayne", 
"Email": "[email protected]"}
{"FirstName": "Lucius", "LastName": "Fox", 
"Email": "[email protected]"}
{"FirstName": "Dick", "LastName": "Grayson", 
"Email": "[email protected]"}

Was muss ich tun, um eine neue Json-Datei in Mongodb zu importieren?

61
Jay

Benutzen 

mongoimport --jsonArray --db test --collection docs --file example2.json

Es ist wahrscheinlich durch die Zeilenumbrüche Zeichen durcheinander.

87
Leon

Der folgende Befehl arbeitete für mich

mongoimport --db test --collection docs --file example2.json

wenn ich das zusätzliche Newline-Zeichen vor dem Email-Attribut in jedem der Dokumente entfernt habe.

example2.json

{"FirstName": "Bruce", "LastName": "Wayne", "Email": "[email protected]"}
{"FirstName": "Lucius", "LastName": "Fox", "Email": "[email protected]"}
{"FirstName": "Dick", "LastName": "Grayson", "Email": "[email protected]"}
47
mithunsatheesh

Das funktionierte für mich - (von Mongo Shell)

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
22
nanusdad

Verwenden Sie den folgenden Befehl, um die JSON-Datei zu importieren

C:\>mongodb\bin\mongoimport --jsonArray -d test -c docs --file example2.json
15
Sumit Kamboj
mongoimport --jsonArray  -d DatabaseN -c collectionName /filePath/filename.json
2
Vijay Prajapati

Diese Lösung gilt für Windows-Computer.

  1. MongoDB benötigt ein Datenverzeichnis, um Daten zu speichern. Der Standardpfad ist C:\data\db. Falls Sie nicht über das Datenverzeichnis verfügen, erstellen Sie eines auf Ihrem Laufwerk C :. (P.S .: data\db bedeutet, dass sich im Verzeichnis 'data' ein Verzeichnis mit dem Namen 'db' befindet.)

  2. Platzieren Sie den zu importierenden json in folgendem Pfad: C:\data\db\.

  3. Öffnen Sie den Befehl Eingabeaufforderung und geben Sie den folgenden Befehl ein

    mongoimport --db databaseName --collections collectionName --file fileName.json --type json --batchSize 1

Hier,

  • datenbankname: Ihr Datenbankname
  • collectionName: Ihr Sammlungsname
  • dateiname: Name Ihrer JSON-Datei, die sich im Pfad C:\data\db befindet
  • batchSize kann eine beliebige Ganzzahl sein
0

Es ist mir vor ein paar Wochen passiert. Die Version von Mongoimport war zu alt. Nach der Aktualisierung auf die neueste Version wurde es erfolgreich ausgeführt und alle Dokumente importiert.

Referenz: http://docs.mongodb.org/master/tutorial/install-mongodb-on-ubuntu/?_ga=1.11365492.1588529687.1434379875

0
aneeshep

In MS Windows muss der Befehl mongoimport in einer normalen Windows-Eingabeaufforderung ausgeführt werden, nicht in der Eingabeaufforderung von mongodb.

0
Baraka215

die folgenden zwei Möglichkeiten funktionieren gut:

C:\>mongodb\bin\mongoimport --jsonArray -d test -c docs --file example2.json
C:\>mongodb\bin\mongoimport --jsonArray -d test -c docs < example2.json

wenn sich die Sammlungen unter einem bestimmten Benutzer befinden, können Sie -u -p --authenticationDatabase verwenden.

0
user10383785