Синтаксическая ошибка 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>
Другие вопросы по тегам