Pertanyaan bagaimana saya bisa terhubung ke server mongo jarak jauh dari terminal Mac OS


Saya ingin masuk ke shell mongo di terminal pada MacBook saya. Namun, saya tertarik untuk menghubungkan ke instance Mongo yang berjalan di cloud (contoh compose.io melalui Heroku addon). Saya memiliki nama, kata sandi, host, port, dan nama database dari URI MongoDB:

mongodb://username:password@somewhere.mongolayer.com:10011/my_database

Saya telah menginstal mongodb di MacBook saya menggunakan Homebrew bukan karena saya ingin Mongo berjalan di Mac saya, tetapi hanya untuk mendapatkan akses ke program shell mongo untuk terhubung ke basis data jauh ini.

Namun, saya tidak dapat menemukan perintah yang tepat untuk mendapatkan akses penuh shell yang saya inginkan. Menggunakan instruksi yang ditemukan di sini http://docs.mongodb.org/manual/reference/program/mongo/ (cari "remote") Saya bisa mendapatkan apa yang tampak seperti koneksi, tetapi tanpa memberikan nama pengguna atau kata sandi saya saya tidak sepenuhnya terhubung. Lari db.auth(username, password) mengembalikan 1 (sebagai lawan dari "auth gagal" ketika saya memberikan username dan password yang salah), tetapi saya terus mendapatkan pesan kesalahan "tidak sah" ketika mengeluarkan show dbs perintah.


76
2017-11-08 04:52


asal


Jawaban:


Anda mungkin menghubungkan dengan baik tetapi tidak memiliki hak yang cukup untuk dijalankan show dbs.

Anda tidak perlu menjalankan db.auth jika Anda meneruskan autentikasi pada baris perintah:

mongo somewhere.mongolayer.com:10011/my_database -u username -p password

Setelah terhubung, apakah Anda dapat melihat koleksi?

> show collections

Jika semuanya baik-baik saja dan Anda tidak memiliki hak admin ke database dan tidak dapat menjalankan show dbs


136
2017-11-08 05:24



Dengan Mongo 3.2 dan lebih tinggi cukup gunakan string koneksi Anda sebagaimana adanya:

mongo mongodb://username:password@somewhere.mongolayer.com:10011/my_database

35
2017-07-23 09:26