Latest web development tutorials

MongoDBの接続

このチュートリアルでは、MongoDBのための異なるコネクタについて説明します。


MongoDBのサービスを開始

前のチュートリアルでは、我々が議論してきたのMongoDBサーバーの起動する方法サービスを、あなただけのbinディレクトリにMongoDBのインストールディレクトリにあることができる」のmongod 'を実行する必要があります。

開始動作の後、出力された情報は、その後、接続を待機しませんいくつかの必要な情報の後にMongoDBの出力は、接続が確立されると、それは印刷ログ情報を開始します、確立されています。

あなたは、サーバーに接続するためのMongoDB MongoDBのシェルを使用することができます。 また、MongoDBのに接続するためにPHPを使用することができます。 我々はMongoDBのシェルのMongoDBサービスに接続するために使用するこのチュートリアルでは、後の章では、我々は、PHPを介してのMongoDBサービスに接続する方法を説明します。



シェルを介して、MongoDBの接続サービス

あなたは、次のコマンドを実行して、MongoDBのサービスを接続することができます。

注意:localhostがホスト名で、このオプションが必要です。

MongoDBは:// localhostを

あなたは上記のコマンドを実行すると、次のような出力を見ることができます。

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

あなたはMongoDBのサーバーへの接続を見ることができるところから、実行./mongodコマンドウィンドウをバックチェック今回は、次の情報を参照することができます:

……省略信息……
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の接続構文

MongoDBのサーバーに接続するためのユーザー名とパスワードを使用して、「ユーザ名:パスワード@ホスト名/ dbnameを使用なければならない」フォーマットを、「ユーザ名」、ユーザー名、パスワードとして「パスワード」。

デフォルトのデータベースに接続するためのユーザーのログイン名とパスワード:

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

上記のコマンドは、ローカルのMongoDBサービスに接続するためのユーザー管理パスワード123456。 出力は次のとおりです。<、P>

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

指定されたデータベースに接続するためのユーザーのログイン名とパスワード:

次の形式で指定されたデータベースに接続します。

MongoDBは://管理者:123456 @ localhostの/テスト


接続のより多くの例

ローカル・データベース・サーバーに接続し、ポートがデフォルトです。

MongoDBは:// localhostを

ユーザー名フレッドは、管理データベースlocalhostのパスワードfoobarにログイン。

MongoDBは://フレッド:foobarの@ localhostの

ユーザー名フレッドは、パスワードfoobarにはlocalhostのバズのデータ​​ベースにログインします。

MongoDBは://フレッド:foobarの@ localhostの/バズ

接続レプリカペア、サーバ1 example1.comサーバ2例2。

MongoDBは://example1.com:27017、example2.com:27017

接続レプリカは3つのサーバ(ポート27017、27018、および27019)を設定します。

MongoDBは:// localhostとは、localhost:localhostを、27018:27019

接続レプリカは、3つのサーバを設定し、メインアプリケーションサーバに書き込み、クエリをサーバに配布しました。

MongoDBは:// host1の、host2の、host3の/ slaveOk = trueの?

最初のサーバに直接接続、それはレプリカセットの一部またはメインサーバーまたはサーバーからのものであるかどうか。

MongoDBは:// host1の、host2の、host3の接続/ =直接; slaveOk = trueの?

あなたがサーバーに接続するときの優先順位を持っていますが、また、すべてのサーバーを一覧表示する必要がある、あなたは、接続モードを使用することができます。

セーフモードは、ローカルホストに接続します。

MongoDBの:? // localhost /を安全=真

セーフモードは、レプリカセットに接続、および、少なくとも2書か正常に複製サーバーを待つ2秒にタイムアウトを設定されています。

MongoDBは:// host1の、host2の、真= host3の/安全;ワット= 2; wtimeoutMS = 2000?


パラメータオプション説明

標準フォーマット:

MongoDBは:// [ユーザー名:パスワード@] HOST1の[:ポート1] [、ホスト2の[:ポート2]、... [、hostN [:portN]]] [/ [データベース] [オプション]?]

次のように標準の接続形式は、いくつかのオプション(オプション)が含まれています。

オプション 説明
さらにreplicaSet =名前 レプリカセットの名前ことを確認します。 Impliesconnect =さらにreplicaSet。
slaveOk =真|偽
  • 真:接続=ダイレクトモードでは、ドライブは、それがプライマリサーバでない場合であっても、最初のマシンに接続されます。 コネクト=さらにreplicaSetモードでは、ドライバは、プライマリサーバーからの読み出し動作に位置する他に、すべての書き込み要求を送信します。
  • 偽:アンダー接続=ダイレクトモード、ドライブは自動的に接続=さらにreplicaSetモードでプライマリサーバを見つけるだろう、ドライブが唯一のメインサーバに接続されており、すべての読み取りおよび書き込みコマンドがメインサーバに接続されています。
安全=真|偽
    • 真:更新操作の後、ドライブは、更新が成功したことを確認するために、GetLastErrorをコマンドを送信します。 (またwtimeoutMSを参照してください)。
偽:各アップデート後、ドライバがアップデートの成功を確実にするためにGetLastErrorを送信しません。
ワット= n個 {W:n}が追加ドライブコマンドが真=安全GETLASTERRORに適用されます..
wtimeoutMSの=ミリ秒 追加ドライブ{wtimeout:ミリ秒}コマンドが真=安全GETLASTERRORに適用されます..
fsync =真|偽
  • 真:GetLastError関数コマンドは真=安全に適用されます:{真のfsync}追加駆動。
  • 偽:ドライブはGetLastErrorをコマンドに追加されません。
ジャーナル=真|偽 trueに設定されている場合、ジャーナルに同期(エンティティに送信する前にデータベースに書き込まで)。真=安全に適用されます
connectTimeoutMSの=ミリ秒 あなたは、接続時間を開くことができます。
socketTimeoutMSの=ミリ秒 時間のソケットを送受信します。