Latest web development tutorials

koneksi MongoDB

Dalam tutorial ini kita akan membahas konektor yang berbeda untuk MongoDB.


Memulai layanan MongoDB

Dalam tutorial sebelumnya, kita telah membahas bagaimana untuk memulai server MongoDB layanan, Anda hanya perlu melakukan 'mongod' bisa di direktori bin direktori instalasi MongoDB.

Setelah operasi awal, keluaran mongodb setelah beberapa informasi yang diperlukan tidak akan keluaran informasi, kemudian menunggu sambungan dibuat, saat sambungan dibuat, akan mulai informasi log printing.

Anda dapat menggunakan MongoDB MongoDB shell untuk terhubung ke server. Anda juga dapat menggunakan PHP untuk menghubungkan ke MongoDB. Tutorial ini akan kita gunakan untuk terhubung ke layanan MongoDB shell MongoDB kemudian bab kami akan menjelaskan cara untuk terhubung ke layanan MongoDB melalui php.



layanan koneksi MongoDB melalui shell

Anda dapat menghubungkan layanan MongoDB dengan menjalankan perintah berikut.

Catatan: localhost adalah nama host, opsi ini diperlukan:

mongodb: // localhost

Ketika Anda menjalankan perintah di atas, Anda dapat melihat output sebagai berikut:

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> mongodb://localhostmongodb://localhost
... 

Kali ini Anda memeriksa kembali menjalankan ./mongod jendela perintah, dari mana Anda dapat melihat koneksi ke server MongoDB, Anda dapat melihat informasi berikut:

……省略信息……
2015-09-25T17:22:27.336+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2015-09-25T17:22:27.336+0800 I CONTROL  [initandlisten] options: { storage: { dbPath: "/data/db" } }
2015-09-25T17:22:27.350+0800 I NETWORK  [initandlisten] waiting for connections on port 27017
2015-09-25T17:22:36.012+0800 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:37310 #1 (1 connection now open)  # 该行表明一个来自本机的连接

……省略信息……


MongoDB koneksi Sintaks

Menggunakan nama pengguna dan password untuk terhubung ke server MongoDB, Anda harus menggunakan 'username: password @ hostname / dbname ' Format, 'username' username, 'password' sebagai password.

Pengguna nama login dan password untuk koneksi ke database default:

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
mongodb://admin:123456@localhost/

Perintah di atas, user admin sandi 123456 untuk terhubung ke layanan MongoDB lokal. output adalah sebagai berikut: <p>

> mongodb://admin:123456@localhost/
... 

Pengguna nama login dan password untuk koneksi ke database yang ditentukan:

Koneksi ke database yang ditentukan dalam format berikut:

mongodb: // admin: 123456 @ localhost / test


lebih banyak contoh koneksi

Terhubung ke server database lokal, port default.

mongodb: // localhost

Nama pengguna fred, password login foobar localhost database admin.

mongodb: // fred: foobar @ localhost

Nama pengguna fred, masuk database password foobar localhost baz ini.

mongodb: // fred: foobar @ localhost / baz

Koneksi pasangan replika, server 1 example1.com Server 2 example2.

mongodb: //example1.com: 27.017, example2.com: 27017

Menghubungkan replika menetapkan tiga server (port 27017, 27018, dan 27019):

mongodb: // localhost, localhost: 27018, localhost: 27019

Menghubungkan replika menetapkan tiga server, menulis dalam server aplikasi utama dan didistribusikan permintaan ke server.

mongodb: // host1, host2, host3 / slaveOk = true?

koneksi langsung ke server pertama, apakah itu merupakan bagian dari set replika atau server utama atau dari server.

mongodb: // host1, host2, host3 / menghubungkan = langsung; slaveOk = true?

Bila Anda terhubung ke server memiliki prioritas, tetapi juga perlu daftar semua server, Anda dapat menggunakan modus sambungan.

Safe Mode untuk menghubungkan ke localhost:

mongodb :? // localhost / aman = true

Safe Mode terhubung ke set replika, dan menunggu setidaknya dua ditulis server berhasil direplikasi, mengatur timeout untuk 2 detik.

mongodb: // host1, host2, host3 / aman = true; w = 2; wtimeoutMS = 2000?


Parameter Pilihan Keterangan

format standar:

mongodb: // [username: password @] host1 [: port1] [, host2 [: port2], ... [, hostN [: portN]]] [/ [Database] [Pilihan]?]

Format koneksi standar berisi beberapa pilihan (opsi), sebagai berikut:

Pilihan deskripsi
replicaSet = nama Pastikan nama set replika. Impliesconnect = replicaSet.
slaveOk = true | palsu
  • benar: Di bawah = modus langsung connect, drive akan terhubung ke mesin pertama, bahkan jika tidak server utama. Dalam modus connect = replicaSet, pengemudi akan mengirim semua menulis permintaan untuk primer dan yang lain terletak di operasi baca dari server.
  • palsu: Under menghubungkan = modus langsung, drive secara otomatis akan menemukan server utama pada mode connect = replicaSet, drive hanya terhubung ke server utama, dan semua membaca dan menulis perintah yang terhubung ke server utama.
aman = true | palsu
    • benar: Setelah operasi update, drive akan mengirim perintah GetLastError untuk memastikan bahwa update berhasil. (Juga lihat wtimeoutMS).
salah: Setelah setiap update, driver tidak akan mengirim GetLastError untuk memastikan update sukses.
w = n Mendorong menambahkan {w: n} perintah berlaku untuk GetLastError aman = true ..
wtimeoutMS = ms Berkendara Tambahkan {wtimeout: ms} perintah berlaku untuk GetLastError aman = true ..
fsync = true | palsu
  • benar: mengemudi menambahkan {fsync: true} perintah GetLastError berlaku untuk aman = true..
  • palsu: drive tidak ditambahkan ke perintah GetLastError.
jurnal = true | palsu Jika diatur ke benar, disinkronisasi ke jurnal (di ditulis ke database sebelum mengirimkan ke entitas). Berlaku untuk aman = true
connectTimeoutMS = ms Anda dapat membuka waktu koneksi.
socketTimeoutMS = ms Mengirim dan menerima soket waktu.