2013-05-11 5 views
29

Ich versuche, eine JSON-Datei hinzuzufügen, hier mit mongoimports von Terminal zu MongoDB:Importieren von JSON-Datei mit mongimport, erhalten Sie "unerwartete Kennung"?

mongoimport --db my_db --collection my_collection --file /content/2_read.json 

Ich halte JavaScript execution failed: SyntaxError: Unexpected identifier bekomme ich meine JSON durch JSON Lint lief: http://jsonlint.com/, die es gültig JSON sagt.

Ich bin mir nicht sicher, was könnte den Importprozess stolpern ?? Oder wie man weiter nachforscht, um das Problem zu finden?

UPDATE

  1. Jemand schlug vor, alle auf eine Zeile setzen. Ein anständiger Vorschlag. Ich habe es versucht und es hat nicht funktioniert.
  2. Ich habe versucht, eine sehr sehr einfache JSON-Datei namens simple.json mit dem Inhalt {'content' : 'simple'} zu importieren, aber ich bekomme immer noch den gleichen Fehler mit mongoimport. (Ich kann Dokumente von mongo Shell in Ordnung hinzufügen.)

Ein Beispiel für die JSON ist unten.

2_read.json

{ 
    "name" : "John", 
    "tasks" : [ 
     { 
     "ix" : "1", 
     "description" : "description of task", 
     "tags": [] 
     }, 
    { 
     "ix": "2", 
     "description" : "description of task", 
     "tags" : [] 
    } 
     ] 
} 

Dank.

+2

möglich Duplikat [Fehler beim mongoimport] (http://stackoverflow.com/questions/15599716/error-during-mongoimport) – WiredPrairie

+1

Vielleicht? Aber die Person hat einen spezifischen Fehler bekommen, wenn der Fehler, den ich bekomme, generisch (und weniger hilfreich) ist. Ich habe gerade versucht, --jsonArray hinzuzufügen, aber das hat nichts geändert. ; ( –

+0

) Ich habe einen kompletten Neulingfehler gemacht. Ich dachte, du benutzt 'mongoimports' von der mongo Shell-Eingabeaufforderung anstelle der Hauptterminaleingabeaufforderung. Danach bin ich auf den Fehler von -jsonArray gestoßen (und ich habe spezifische Fehler wie in der Pfosten, den Sie auch zeigten) Danke für das Hervorheben das. –

Antwort

123

Beantworten Sie meine eigene Frage, weil komplette Neulinge den Fehler zu schätzen wissen und möglicherweise in sie einlaufen, wenn sie anfangen.

mongoimport wird vom Terminal verwendet, NICHT innerhalb der mongo Shell. Genau wie Sie nicht npm innerhalb node verwenden. ; D

Nachdem ich meinen konzeptionellen Fehler dort herausgefunden habe, brauchte ich --jsonArray, wie von @WiredPrairie in den Kommentaren gezeigt.

+8

Sogar tat ich den gleichen Fehler. Dank für das Teilen. Es speicherte meine Zeit – gca

+8

Just machte den gleichen Fehler. Danke für das Beantworten Ihrer Frage. – aczietlow

+0

Überprüfen Sie die Dokumente auf fehlerhaften Text. Ich kopierte Das JSON-Dokument aus dem Web, und der Browser durch einen Fehler, der kopiert wurde, wenn ich den Inhalt der Seite kopierte. Hoffentlich hilft das Ihnen. JSLint hilft auch! –

0

Der folgende Befehl vom Terminal arbeitete gut für mich:

mongoimport -d my_db -c my_collection < /content/2_read.json --batchSize 1 
+0

Hallo. Im ERROR: unerkannte Option '--batchSize' mit folgendem Befehl mongoimport --db ciudadDeBuenosAires --collection vehiculos-peajes <"/ home/dantebarba/Descargas/ausapasovehiculo-2015.json "--batchSize 1 – dantebarba

Verwandte Themen