この記事は、PHP7 チュートリアル コラムによって、PHP7 MongoDB ドライバーの使用体験を共有するために書かれたものです。困っている友人の役に立てば幸いです。
#php7 は、mongodb を駆動するために Mongodb ドライバーのみを使用できます。
Mongodb ドライバーを初めて使い始めたとき、私は拒否しました。公式ドキュメントを見てみると、クラスと意味不明なメンバーメソッドが並んでいるだけで、長時間閲覧しても検索、更新、削除などのキーワードや、少し複雑なキーワードさえ見つかりませんでした。レプリカセットやユーザー認証など、データベースへの接続方法が不明でした。
幸いなことに、ドキュメントが完全に不足しているわけではありません。Mongodb\Driver\Manger::constructor をクリックすると、## の形式でいくつかの構築パラメータ
$uri
が表示されます。 #mongo: //[host:port,host:port,host:port]/[dbname]?[username=aa&password=bb&replicaSet=cc]
#$driverOptions
MongodbDriver CURD 操作。 Query クラスは少し優れており、いくつかのクエリ オプションを提供します。
実際には、Mongo データベース上のすべての操作は Command クラスを通じて実行できます。 PHP ドライバーのドキュメントでは、特定の commandOptions
が紹介されていません。
私が mongodb を初めて使用するからこそ、このドライバーは非常に奇妙で反人間的であり、始める方法がないと感じています。 このドライバーを使用する上で重要なのは、Command クラスを使用して
commandOptionそしてこの
commandOption を使用する必要があることです。公式 mongodb から入手してください。ドキュメント内の
MONGODB マニュアル - データベース コマンド について学習してください。すべての操作、データの追加、削除、変更とクエリ、集計ソート、データベース ステータス、ユーザー認証などを行うことができます。これらのコマンドを通じて実行されます。以下にいくつかの例を示します。
データベースへの接続
$this->_conn = new MongoDB\Driver\Manager('mongodb://localhost:27017/test'); $this->_db = 'test'; // execute command. function exec($opts) { $cmd = new MongoDB\Driver\Command($opts); $res = $this->_conn->executeCommand($this->_db, $cmd); return $res->toArray(); }
$cmd = [ 'find' => 'table', // collection表名 'filter' => ['_id' => ['$gte' => 10, '$lt' => 20]], 'projection' => ['name' => 1, 'email' => 1] ]; $res = $this-exec($cmd);
$cmd = [ 'update' => 'table', // collection 表名 'updates' => [ ['q' => [_id => ['$lt' => 10]], 'u' => ['status' => 0], 'upsert'=>0,'multi'=>1], ['q' => [_id => ['$gte' => 10]], 'u' => ['status' => 1], 'upsert'=>0,'multi'=>1], ], 'ordered' => 1, // 是否依次执行updates语句,true表示执行失败后继续后面的语句,false 表示一旦失败立即返回 ]
$cmd = [ 'delete' => 'table', // collection 表名 'deletes' => [ ['q' => [_id => ['$lt' => 5]], 'limit' => 0], // 0表示所有,1表示删除1行 ] ]
$cmd = [ 'delete' => 'table', // collection 表名 'deletes' => [ ['q' => [_id => ['$lt' => 5]], 'limit' => 0], // 0表示所有,1表示删除1行 ] ]
$cmd = [ 'aggregate' => 'table', // collection 表名 'pipeline' => [ '$group' => 'class', '$sort' => 'score' ] ]
$cmd = [ 'replSetGetStatus' => 1, ]
Exception
MongoDBDriver によって生成されたすべての例外は、
MongoDB\Driver\Exception\Exception
以上がPHP7 MongoDB ドライバーを使用した経験を共有してくださいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。