Bagaimana cara menemukan string koneksi mongodb saya?

Salah satu dari metode yang diberikan akan mengatur string koneksi MongoDB. Format Koneksi Daftar Benih DNS atau Format String Koneksi Standar

Format standar untuk menghubungkan string

Ada tiga tipe dasar penerapan MongoDB. standalone, replica set, dan sharded cluster, semuanya dijelaskan di sini

Ini adalah cara umum untuk menggabungkan URI

mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

Contoh

Mandiri
mongodb://mongodb0.example.com:27017
_
Mandiri yang menerapkan kontrol akses
mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
Set replika
mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myRepl
Kumpulan replika yang menerapkan kontrol akses
mongodb://myDBReader:D1fficultP%[email protected]:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
_
Kluster terfragmentasi
mongodb://mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017
Cluster terfragmentasi yang memberlakukan kontrol akses
mongodb://myDBReader:D1fficultP%[email protected]:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
_

Komponen string koneksi

Komponen string koneksi URI standar

  1. mongodb. // – Awalan yang diperlukan yang menunjukkan string koneksi standar
  2. nama belakang. kata sandi@ – Kredensial autentikasi bersifat opsional. Jika authSource diberikan, klien akan mencoba mengautentikasi pengguna. Tanpa menentukan authSource, klien akan memverifikasi pengguna terhadap defaultauthdb. Selain itu, database admin digunakan jika defaultauthdb tidak diberikan
  3. tuan rumah[. port] – Host (dan secara opsional nomor port) tempat instance mongod beroperasi (atau instance mongos dalam kasus klaster sharded). Anda dapat menunjukkan nama host, alamat IP, atau soket di domain UNIX. Tunjukkan jumlah host yang diperlukan untuk topologi peluncuran Anda
    Dalam kasus instance mongod tunggal, berikan nama host dari instance mongod
    Berikan nama host dari instance mongod yang ditentukan dalam pengaturan kumpulan replika untuk kumpulan replika
    Tunjukkan nama host instance mongos untuk klaster yang dipecah. Tanpa menentukan nomor port, port generik 27017 digunakan
  4. /defaultauthdb – Opsional. Jika string koneksi berisi nama pengguna. password@kredensial, tetapi opsi authSource tidak disediakan, database autentikasi digunakan. Klien menggunakan database admin untuk mengautentikasi pengguna jika authSource dan defaultauthdb tidak diberikan
  5. ? – Optional. Connection-specific parameters are specified in name>=value> pairs in the query string. The list of available choices may be seen in the Connection String Options section. Slash (/) must be included between the host and question mark (?) to begin the options string if no database is specified in the connection string.

Format Koneksi untuk Daftar Seed DNS

Ada juga daftar seed yang dibuat oleh DNS untuk koneksi MongoDB. Menggunakan DNS untuk membuat daftar server yang dapat diakses menawarkan lebih banyak fleksibilitas penerapan dan kemampuan untuk berpindah server dalam siklus tanpa mengonfigurasi ulang klien

Gunakan awalan mongodb+srv alih-alih awalan string koneksi MongoDB reguler untuk menggunakan daftar benih DNS. Untuk memberi tahu pengguna bahwa nama host berikut ini adalah catatan DNS SRV, gunakan awalan +srv. Setelah itu, mongosh atau driver akan menanyakan sistem nama domain (DNS) untuk mengetahui host mana yang menjalankan instance mongod

Catatan. Opsi tls (atau ssl yang sesuai) disetel ke true jika variabel string koneksi +srv digunakan. Dengan secara eksplisit menentukan opsi tls ke false dalam string kueri, Anda dapat mengganti perilaku ini dan menggunakan tls=false sebagai gantinya

String koneksi daftar benih DNS sering terlihat seperti contoh berikut

mongodb+srv://server.example.com/

Pengaturan DNS dapat terlihat seperti ini

Record                            TTL   Class    Priority Weight Port  Target

_mongodb._tcp.server.example.com. 86400 IN SRV   0        5      27317 mongodb1.example.com.

_mongodb._tcp.server.example.com. 86400 IN SRV   0        5      27017 mongodb2.example.com.
_

Menghubungkan dengan anggota daftar benih memberi klien akses ke direktori anggota kumpulan replika lain untuk membuat sambungan. Tuan rumah dapat menghasilkan daftar server yang berbeda dari daftar benih karena klien biasanya menggunakan alias DNS dalam daftar benih mereka. Anggota kumpulan replika hanya dapat diakses melalui nama host mereka;

Catatan. Catatan SRV yang disediakan oleh nama host yang ditentukan harus memiliki domain induk yang sama (contoh. com) sebagai nama host itu sendiri. Anda tidak akan diizinkan untuk terhubung jika domain induk dan nama host tidak cocok

Selain itu, string koneksi daftar benih DNS memungkinkan Anda memberikan parameter sebagai bagian dari URL dengan cara yang sama seperti yang biasa dilakukan. Anda juga dapat menggunakan catatan TXT untuk menunjukkan pengaturan berikut saat menggunakan string koneksi daftar benih DNS

authSource
replicaSet
_

Hanya satu data TXT yang dapat ditentukan untuk setiap instance mongod. Klien akan mengembalikan kesalahan jika DNS memiliki beberapa entri TXT atau jika entri TXT berisi atribut selain replicaSet atau authSource

Data TXT untuk server. contoh. com akan terlihat seperti ini

mongodb://mongodb0.example.com:27017
_0

String koneksi ini dihasilkan dari entri DNS SRV serta pengaturan catatan TXT sebagai berikut

mongodb://mongodb0.example.com:27017
_1

Pilihan data TXT dapat diganti dengan menyediakan parameter string kueri URL. String kueri dalam skenario berikut menimpa opsi authSource yang diatur dalam data TXT entri DNS

mongodb://mongodb0.example.com:27017
_2

Dengan menggunakan authSource override, string koneksi tipikal akan terlihat seperti ini

mongodb://mongodb0.example.com:27017
_3

Catatan. Jika nama host yang ditentukan dalam string koneksi tidak memiliki catatan DNS apa pun yang terkait dengannya, parameter mongodb+srv akan gagal. Sebagai catatan terakhir, saat menggunakan modifikasi string koneksi +srv, opsi untuk menggunakan TLS (atau keamanan SSL yang setara) disetel ke true untuk koneksi. Dengan secara eksplisit menentukan opsi tls ke false dalam string kueri, Anda dapat mengganti perilaku ini dan menggunakan tls=false sebagai gantinya

Dapatkan string koneksi MongoDB Anda

Anda memerlukan string URI untuk terhubung ke MongoDB. Jika Anda menautkan ke penerapan MongoDB menggunakan shell mongo, Kompas, atau driver MongoDB, Anda akan dimintai URI (Pengidentifikasi Sumber Daya Seragam)

Diasumsikan bahwa Anda telah menyiapkan autentikasi di MongoDB dan membuat nama pengguna dan kata sandi untuk hak baca dan tulis ke database MongoDB saat menggunakan string URI yang disediakan

Dalam hal ini, Anda dapat menggunakan login dan sandi yang Anda buat untuk peran readWriteAnyDatabase serta nama database admin di string koneksi Anda untuk terhubung ke MongoDB

Opsi untuk String Koneksi

Bagian ini menjelaskan berbagai cara Anda dapat terhubung ke Internet

  1. Dalam bentuk pasangan nama=nilai, opsi koneksi tersedia
  2. Saat menggunakan driver, nama opsi tidak peka huruf besar-kecil
  3. Nama opsi tidak peka huruf besar-kecil saat menggunakan mongosh atau shell mongo tradisional (versi 4. 2 atau lebih baru)
  4. Nama opsi peka huruf besar-kecil saat menggunakan versi 4. 0 atau shell mongo lawas sebelumnya
  5. Kasing tidak pernah menjadi masalah saat menampilkan nilai

Huruf ampersand (&) dapat memisahkan pilihan, seperti nama1=nilai1&nama2=nilai2. Parameter ReplicaSet dan connectTimeoutMS disertakan dalam koneksi berikut

mongodb://mongodb0.example.com:27017
_4

Catatan. Driver sekarang menerima titik koma (;) sebagai pemisah opsi untuk mempertahankan kompatibilitas dengan perangkat lunak lama

Contoh Rangkaian Sambungan

Anda akan menemukan contoh URI untuk titik koneksi populer pada contoh di bawah ini

Jalankan Server Database secara lokal

Port default dari server database lokal dapat digunakan untuk membuat sambungan dengan perintah berikut

mongodb://mongodb0.example.com:27017
_5
Basis Data Administratif

Untuk masuk ke database admin sebagai foss dengan kata sandi fosslinux, perintah berikut harus diikuti

mongodb://mongodb0.example.com:27017
_6
Database catatan

Menghubungkan dan masuk ke database catatan menggunakan kata sandi fosslinux sebagai administrator sistem

mongodb://mongodb0.example.com:27017
_7
Soket Domain di UNIX

Saat melampirkan ke soket domain UNIX, gunakan string koneksi terenkripsi URL

Tautan MongoDB ke titik akhir domain UNIX dengan jalur berikut

mongodb://mongodb0.example.com:27017
_8

Catatan. semua driver tidak mendukung soket domain UNIX. Untuk mempelajari lebih lanjut tentang driver Anda, buka bagian Dokumentasi driver

Set replika dengan pengguna di mesin yang berbeda

Di bawah ini adalah koneksi ke set replika dua anggota di db1. contoh. bersih dan db2. contoh. bersih

mongodb://mongodb0.example.com:27017
_9

Catatan. Contoh mongod yang disediakan dalam konfigurasi set replika harus ditentukan untuk set replika

Set Replika dengan pengguna di localhost

Port 27017, 27018, dan 27019 digunakan untuk membuat koneksi ke kumpulan replika yang beroperasi di localhost

mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
0
Baca Set Replika Distribusi

Menghubungkan ke kumpulan replika tiga anggota dan mendistribusikan bacaan ke anggota sekunder memerlukan metode yang tercantum di bawah ini

mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
1
Set Replika Kepedulian Tulis Tingkat Tinggi

Menghubungkan ke kumpulan replika yang berisi masalah tulis dan waktu tunggu dua detik sambil menunggu replikasi di sebagian besar anggota pemungutan suara yang menyimpan data dilakukan dengan menggunakan konfigurasi ini

mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
2
Kluster Bersama

Dimungkinkan untuk terhubung ke cluster sharded multi-instance menggunakan yang berikut ini

mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
_3
Kluster Atlas MongoDB

Berikut ini membuat koneksi ke klaster MongoDB Atlas menggunakan kredensial AWS IAM untuk autentikasi

mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
_4

Contoh ini menunjukkan cara menggunakan metode autentikasi MONGODB-AWS dan $external authSource untuk terhubung ke Atlas melalui kredensial AWS IAM

Nilai AWS SESSION TOKEN authMechanismProperties harus diberikan jika Anda menggunakan token sesi AWS, sebagai berikut

mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
5

Catatan. Selama ID kunci akses AWS atau Kunci Akses Rahasia berisi karakter berikut. (. / ?

Anda juga dapat menggunakan variabel lingkungan IAM AWS reguler untuk menentukan kredensial ini di platform Anda. Saat menggunakan autentikasi MONGODB-AWS, mongosh memeriksa dan memastikan apakah ada variabel lingkungan berikut

String koneksi tidak perlu menyertakan kredensial ini jika dikonfigurasi

Di bash shell, variabel berikut diatur dalam contoh berikut

mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
_9

Sintaks untuk menetapkan variabel lingkungan akan berbeda di shell lain, jadi perhatikan hal ini. Untuk informasi lebih lanjut, buka dokumentasi platform Anda

Perintah berikut akan mengonfirmasi apakah variabel lingkungan tertentu telah ditetapkan atau tidak

mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myRepl
0

Kode berikut menunjukkan cara membuat koneksi ke klaster MongoDB Atlas dengan menggunakan variabel yang tercantum di bawah ini

mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myRepl
1

Itu saja yang perlu Anda ketahui tentang string koneksi di MongoDB. Kami harap panduan artikel ini bermanfaat bagi Anda. Jika ya, silakan tinggalkan komentar di bagian komentar. Terima kasih sudah membaca

Apa URL konektivitas MongoDB?

MongoClient; . // localhost. 27017, localhost. 27018/? mongodb://localhost:27017,localhost:27018/? replicaSet=foo'; .

Bagaimana cara mendapatkan string koneksi MongoDB dari shell?

Jika Anda sudah terhubung melalui shell/terminal, gunakan db. getMongo() untuk mengembalikan string koneksi di shell/terminal.

Perintah mana yang digunakan untuk melihat koneksi di MongoDB?

Perintah connPoolStats mengembalikan informasi terkait koneksi keluar yang terbuka dari instance database saat ini ke anggota lain dari klaster sharded atau kumpulan replika. Untuk menjalankan connPoolStats , gunakan db. runCommand( {

Bagaimana cara menemukan tautan basis data di MongoDB?

Cara terhubung ke MongoDB .
Buat basis data di MongoDB. Hubungkan ke shell MongoDB. Buat basis data "testdb". Buat koleksi "pengguna" dan masukkan ke "testdb"
Pengaturan pengguna. Terhubung ke admin db. Buat administrator pengguna. .
Buat koneksi ke MongoDB di CPD. Tetapkan informasi yang diperlukan