Синтаксическая ошибка mongorestore
У меня есть много файлов BSON по следующему пути:
c:/mongodb/bin/dump/Sid
Если я запускаю команду:
> mongorestore --db Sid --drop dump/Sid
Я получаю следующую ошибку:
Mon Mar 26 14:36:36 SyntaxError: missing ; before statement (shell):1
В чем проблема с моей командой?
4 ответа
Исходя из вашего ввода, кажется, что вы пытаетесь запустить mongorestore из оболочки JS.
Mongorestore - это отдельное приложение, которое запускается непосредственно из терминала.
Следующее не будет работать:
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
>
Если вы запускаете mongorestore прямо из терминала, вы должны добиться успеха:
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>
Документацию по Mongodump / mongorestore можно найти в документации "Инструменты импорта экспорта": http://www.mongodb.org/display/DOCS/Import+Export+Tools
mongorestore - это не команда, это исполняемый файл в каталоге bin MongoDB. Ниже приводится цитата из http://docs.mongodb.org/manual/reference/program/mongorestore/
Программа mongorestore записывает данные из двоичного дампа базы данных, созданного mongodump, в экземпляр MongoDB. mongorestore может создать новую базу данных или добавить данные в существующую базу данных.
Если у вас уже запущен экземпляр mongod, в котором вы уже указали dbpath как
mongod --dbpath "..\mongodb\data"
Вы можете напрямую запустить команду mongorestore.
mongorestore ..\data\dump
Вы не можете использовать команду mongorestore, как это... Вы должны запускать это через cmd, а не в Mongo Shell... Посмотрите на команду ниже...
>path\to\mongorestore.exe -d dbname -c collection_name path\to\same\collection.bson
Вот path\to\mongorestore.exe
это путь mongorestore.exe
внутри папки bin mongodb.dbname
это имя базы данных. collection_name
это имя collection.bson
,path/to/same/collection.bson
путь к этой коллекции.
Теперь из оболочки Монго вы можете проверить, создана база данных или нет (если она не существует, база данных с тем же именем будет создана с коллекцией).
Если вы хотите восстановить внешнюю базу данных, скопируйте эту базу данных в
<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>