2016-12-30 26 views
6

Tôi đang cố gắng thực thi lệnh MongoDB (để tạo DB) sử dụng tệp .bat.Cách gọi các lệnh MongoDB bằng tập tin .bat

Cho rằng tôi đã cố gắng:

cd C:\Program Files\MongoDB\Server\3.4\bin 
mongo 
mongo --eval "use MyDatabase" 
pause 

Nhưng nó mang lại cho một lỗi missing ; before statement @(shell eval):1:4
Làm thế nào tôi có thể giải quyết vấn đề này?

Side: Tôi đã trải qua MongoDB SyntaxError: missing ; before statement @(shell)

Trả lời

7

Bạn có thể thử với:

cd Program Files\MongoDB\Server\3.4\bin 
mongo.exe 
mongo.exe --eval "use MyDatabase" 
pause 

Tôi đang sử dụng một file .bat mà hoạt động đúng và chứa này

cd \Program Files\MongoDB\Server\3.2\bin 
mongod.exe 
pause 

EDIT

Tôi đã thử nghiệm một tập tin như thế này và nó hoạt động tốt (tạo db, việc thu thập và tài liệu)

mongodb.bat

cd \Program Files\MongoDB\Server\3.2\bin 
mongo.exe db-mydb --eval "db.yourCollection.insert({key:'value'});" 
pause 

EDIT 2

Nếu bạn muốn chạy .bat của bạn tệp trên nền, tôi đã tạo tệp .VBS hoạt động đúng cách

mongodb.VBS

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "C:\Path\To\Your\mongodb.bat" & Chr(34), 0 
Set WshShell = Nothing 

Hy vọng nó giúp

+0

Đó là n ot hiển thị bất kỳ lỗi nào, nhưng nó không tạo ra một DB –

+1

Nếu bạn muốn tạo một cơ sở dữ liệu mới, tôi nghĩ rằng bạn phải chèn một tài liệu mới bên trong – Sparw

+1

Bạn có nghĩa là bộ sưu tập? Tôi đã thử thêm 'mongo.exe --eval 'db.createCollection (' testcollecation ')" 'nhưng không may mắn: ( –

1
  • Đặt mã này trong file bat của bạn.
  • Nó sẽ bắt đầu và kích hoạt mongodb trong 2 cửa sổ cmd đặc quyền quản trị viên khác nhau.
  • Vui lòng kiểm tra các đường dẫn trước để điều chỉnh theo môi trường của bạn.

START "runas/user: administrator" cmd/K "cd C: \ Program Files \ MongoDB \ Server \ 3.4 \ bin & mongod.exe --dbpath c: \ data \ db"

TIMEOUT/T 10 BẮT ĐẦU

START "runas/user: administrator" cmd/K "cd C: \ Program Files \ MongoDB \ server \ 3.4 \ bin & mongo.exe"

Các vấn đề liên quan