2012-03-26 2 views
3

Ich habe viele BSON Dateien in folgendem Pfad:mongorestore Syntaxfehler

c:/mongodb/bin/dump/Sid 

Wenn ich den Befehl ausführen:

> mongorestore --db Sid --drop dump/Sid 

ich die folgende Fehlermeldung erhalten:

Mon Mar 26 14:36:36 SyntaxError: missing ; before statement (shell):1 

Was ist das Problem mit meinem Befehl?

+0

Warum Sie '--drop dump/Sid' fügen? –

+0

@Sergio kam über diesen Befehl in einem Post. Wie kann ich diesen Ordner wiederherstellen? – codious

+0

Kopieren aus dem Backup. –

Antwort

20

Von Ihrer Eingabe scheint es, als ob Sie mongorestore aus der JS-Shell heraus ausführen möchten.

Mongorestore ist eine eigenständige Anwendung und wird direkt vom Terminal aus ausgeführt.

Im Folgenden wird nicht funktionieren:

c:\mongodb-win32-x86_64-2012-03-20\bin>mongo.exe 
MongoDB shell version: 2.1.1-pre- 
connecting to: test 
> mongorestore --db test --drop \dump\test 
Mon Mar 26 11:29:13 SyntaxError: missing ; before statement (shell):1 
> 

Wenn Sie mongorestore direkt vom Terminal laufen sollten Sie erfolgreich sein:

c:\mongodb-win32-x86_64-2012-03-20\bin>mongorestore --db test --drop \dump\test 
connected to: 127.0.0.1 
... (truncated for brevity) ... 

c:\mongodb-win32-x86_64-2012-03-20\bin> 

Die Dokumentation auf Mongodump/mongorestore kann in der „Import finden Export Tools "Dokumentation: http://www.mongodb.org/display/DOCS/Import+Export+Tools

+1

das war extrem hilfreich für ein n00b wie mich.Ich konnte nicht herausfinden, was vorging, da in den Dokumenten nicht klar ist, dass 'mongorestore' vom Terminal aus ausgeführt werden sollte, nicht von der Mongo-Shell. – dwstein

3

mongorestore ist kein comm und, es ist eine ausführbare Datei im bin-Verzeichnis von MongoDB. unten ist das Zitat aus http://docs.mongodb.org/manual/reference/program/mongorestore/

The mongorestore program writes data from a binary database dump created by mongodump to a MongoDB instance. mongorestore can create a new database or add data to an existing database.

Wenn Sie bereits eine mongod Instanz laufen, wo Sie bereits die dbpath als

angegeben
mongod --dbpath "..\mongodb\data" 

Sie können direkt mit dem mongorestore Befehl ausführen.

mongorestore ..\data\dump 
1

Sie können nicht mongorestore Befehl wie folgt verwenden ... Sie haben dies über cmd laufen und nicht auf Mongo Shell ... Werfen Sie einen Blick auf folgenden Befehl ...

>path\to\mongorestore.exe -d dbname -c collection_name path\to\same\collection.bson 

Hier path\to\mongorestore.exe ist der Pfad von mongorestore.exe innerhalb bin Ordner von Mongodb. dbname ist Name der Datenbank. collection_name ist der Name collection.bson. path/to/same/collection.bson ist der Weg zu dieser Sammlung.

Jetzt von Mongo Shell können Sie überprüfen, ob die Datenbank erstellt wird oder nicht (Wenn es nicht existiert, wird Datenbank mit dem gleichen Namen mit Sammlung erstellt).

0

Wenn Sie die außerhalb Datenbank wiederherstellen möchten, kopieren Sie die Datenbank in

<pre>C:\database drive(Create a folder database and copy your database) ,then follow the steps 
1)c:\> cd database 
2)c:\database>dir 
3)c:\database>"\Program Files\MongoDB\Server\3.0\bin\mongorestore.exe" 

now open robomongo and check it will contain the restored dbs.. or check on command prompt show dbs</pre>