Tutorial MongoD...login
Tutorial MongoDB
pengarang:php.cn  masa kemas kini:2022-04-21 17:49:03

Sambungan MongoDB


Dalam tutorial ini kita akan membincangkan kaedah sambungan MongoDB yang berbeza.


Mulakan perkhidmatan MongoDB

Dalam tutorial sebelumnya, kami telah membincangkancara memulakan perkhidmatan MongoDB Anda hanya perlu pergi ke direktori bin direktori pemasangan MongoDB Hanya laksanakan 'mongod'.

Selepas melaksanakan operasi permulaan, mongodb tidak akan mengeluarkan sebarang maklumat selepas mengeluarkan beberapa maklumat yang diperlukan, dan kemudian menunggu sambungan diwujudkan, ia akan mula mencetak maklumat log.

Anda boleh menggunakan cangkerang MongoDB untuk menyambung ke pelayan MongoDB. Anda juga boleh menggunakan PHP untuk menyambung ke MongoDB. Dalam tutorial ini kami akan menggunakan cangkerang MongoDB untuk menyambung ke perkhidmatan Mongodb Dalam bab seterusnya kami akan memperkenalkan cara menyambung ke perkhidmatan MongoDB melalui php.



Sambung ke perkhidmatan MongoDB melalui shell

Anda boleh menyambung ke perkhidmatan MongoDB dengan melaksanakan arahan berikut.

Nota: localhost ialah nama hos, pilihan ini diperlukan:

mongodb://localhost

Apabila anda Apabila melaksanakan arahan di atas, anda boleh melihat output berikut:

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

Pada masa ini, anda boleh kembali ke tetingkap menjalankan perintah ./mongod dan anda boleh melihat tempat untuk menyambung ke pelayan MongoDB , anda boleh melihat maklumat 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)  # 该行表明一个来自本机的连接

……省略信息……


format arahan sambungan MongoDB

Gunakan nama pengguna dan kata laluan untuk menyambung ke pelayan MongoDB, anda mesti menggunakan ' Format nama pengguna:kata laluan @hostname/dbname', 'nama pengguna' ialah nama pengguna, 'kata laluan' ialah kata laluan.

Gunakan nama pengguna dan kata laluan untuk menyambung ke pangkalan data lalai:

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

Dalam arahan di atas, pentadbir pengguna menggunakan kata laluan 123456 untuk menyambung ke perkhidmatan MongoDB setempat. Keputusan output adalah seperti berikut: <, p>

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

Gunakan nama pengguna dan kata laluan untuk menyambung dan log masuk ke pangkalan data yang ditentukan:

Format untuk menyambung ke pangkalan data yang ditentukan adalah seperti berikut:

mongodb://admin:123456@localhost/test


Lebih banyak contoh sambungan

Sambung ke setempat pelayan pangkalan data, port adalah lalai.

mongodb://localhost

Gunakan nama pengguna fred dan kata laluan foobar untuk log masuk ke pangkalan data pentadbir localhost.

mongodb://fred:foobar@localhost

Gunakan nama pengguna fred dan kata laluan foobar untuk log masuk ke pangkalan data baz localhost.

mongodb://fred:foobar@localhost/baz

Sambungkan pasangan replika, pelayan 1 ialah example1.com pelayan 2 ialah contoh2.

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

Sambungkan set replika kepada tiga pelayan (port 27017, 27018 dan<27019): 🎜>

mongodb://localhost,localhost:27018,localhost:27019
Sambungkan set replika kepada tiga pelayan, operasi tulis digunakan pada pelayan induk dan pertanyaannya diedarkan kepada pelayan hamba.

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

Sambung terus ke pelayan pertama, sama ada ia sebahagian daripada set replika atau pelayan induk atau pelayan hamba.

mongodb://host1,host2,host3/?connect=direct;slaveOk=true

Apabila pelayan sambungan anda mempunyai keutamaan, anda juga perlu menyenaraikan semua Pelayan , anda boleh menggunakan kaedah sambungan di atas.

Sambung ke localhost dalam mod selamat:

mongodb://localhost/?safe=true

Sambung ke replika yang ditetapkan dalam mod selamat dan tunggu Sekurang-kurangnya dua pelayan replikasi berjaya menulis dan tamat masa ditetapkan kepada 2 saat.

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


Penerangan pilihan parameter

Format standard:

mongodb://[nama pengguna:kata laluan@]host1[:port1][,host2[:port2],...[,hostN[:portN] ]][/[database][?options]]

Format sambungan standard mengandungi berbilang pilihan (pilihan), seperti ditunjukkan di bawah:

< tbody> < tr>
OptionPenerangan
replicaSet=nameSahkan nama set replika. Impliesconnect=replicaSet.
slaveOk=true|false
  • 选项描述
    replicaSet=name验证replica set的名称。 Impliesconnect=replicaSet.
    slaveOk=true|false
    • true:在connect=direct模式下,驱动会连接第一台机器,即使这台服务器不是主。在connect=replicaSet模式下,驱动会发送所有的写请求到主并且把读取操作分布在其他从服务器。

    • false: 在 connect=direct模式下,驱动会自动找寻主服务器. 在connect=replicaSet 模式下,驱动仅仅连接主服务器,并且所有的读写命令都连接到主服务器。

    safe=true|false
      • true: 在执行更新操作之后,驱动都会发送getLastError命令来确保更新成功。(还要参考 wtimeoutMS).

    false: 在每次更新之后,驱动不会发送getLastError来确保更新成功。
    w=n驱动添加 { w : n } 到getLastError命令. 应用于safe=true。
    wtimeoutMS=ms驱动添加 { wtimeout : ms } 到 getlasterror 命令. 应用于 safe=true.
    fsync=true|false
    • true: 驱动添加 { fsync : true } 到 getlasterror 命令.应用于 safe=true.

    • false: 驱动不会添加到getLastError命令中。

    journal=true|false如果设置为 true, 同步到 journal (在提交到数据库前写入到实体中). 应用于 safe=true
    connectTimeoutMS=ms可以打开连接的时间。
    socketTimeoutMS=ms发送和接受sockets的时间。
    true: Dalam mod connect=direct, pemandu akan menyambung ke mesin pertama, walaupun pelayan ini bukan master. Dalam mod connect=replicaSet, pemandu menghantar semua permintaan tulis kepada induk dan mengedarkan operasi baca kepada pelayan hamba yang lain.
  • false: Dalam mod connect=direct, pemandu akan mencari pelayan utama secara automatik Dalam mod connect=replicaSet, pemandu hanya menyambung ke pelayan utama dan semua membaca dan arahan tulis disambungkan ke pelayan utama. <🎜>
safe=true|false
    < ul style="list-style-type: square;" class=" list-paddingleft-2">
  • <🎜>true: Selepas menjalankan operasi kemas kini, pemandu akan menghantar arahan getLastError untuk memastikan kemas kini berjaya. (Juga rujuk wtimeoutMS).<🎜>
false: Selepas setiap kemas kini, pemandu tidak akan menghantar getLastError untuk memastikan kemas kini berjaya.
w=nPemandu menambah { w : n } pada perintah getLastError. Berlaku pada safe=true.
wtimeoutMS=msPemandu menambah { wtimeout : ms } pada perintah getlasterror digunakan pada safe=true.
fsync=true|false
  • <🎜>true: Pemacu menambah { fsync : true } pada getlasterror Perintah. Gunakan pada safe=true.<🎜>
  • <🎜>false: Pemacu tidak akan ditambahkan pada perintah getLastError. <🎜>
journal=true|falseJika ditetapkan kepada benar, segerakkan ke jurnal (sebelum menyerahkan kepada pangkalan data ditulis kepada entiti sebelum ini). Digunakan untuk safe=true
connectTimeoutMS=msMasa apabila sambungan boleh dibuka.
socketTimeoutMS=msMasa untuk menghantar dan menerima soket.
<🎜><🎜>