PHP が正規表現を使用して MongoDB でクエリを実行する方法
はじめに:
MongoDB は、柔軟なデータ モデルと効率的なクエリ パフォーマンスを備えた、一般的に使用される NoSQL データベースです。正規表現は、MongoDB をデータ クエリに使用する場合に非常に便利なクエリ手法です。この記事では、PHP と MongoDB を使用して正規表現クエリを実行する方法を紹介します。
pecl install mongodb
<?php $mongoClient = new MongoDBClient("mongodb://localhost:27017"); $mongodb = $mongoClient->selectDatabase("mydb"); $collection = $mongodb->selectCollection("mycollection"); ?>
In コード内で、mongodb://localhost:27017
は MongoDB データベースの接続アドレスで、デフォルトのポートは 27017 です。 mydb
はデータベースの名前、mycollection
はコレクションの名前です。
MongoDBBSONRegex
クラスを使用して正規表現を作成し、それをクエリで使用します。 <?php $filter = ['name' => new MongoDBBSONRegex('^John', 'i')]; $options = ['sort' => ['name' => 1]]; $result = $collection->find($filter, $options); foreach ($result as $document) { echo $document->name . " "; } ?>
上記のコードでは、正規表現 ^John
を使用して、名前が John で始まるドキュメントをクエリします。正規表現を構築するプロセスでは、'^John'
は正規表現のパターン、'i'
は大文字と小文字を区別しないことを示すために使用される修飾子です。
.*
を使用して任意の文字のワイルドカードを表し、それを修飾子と組み合わせて、より正確なクエリを実現できます。 <?php $filter = ['name' => new MongoDBBSONRegex('.*doe.*', 'i')]; $options = ['sort' => ['name' => 1]]; $result = $collection->find($filter, $options); foreach ($result as $document) { echo $document->name . " "; } ?>
上記のコードでは、正規表現 .*doe.*
を使用して、名前に文字列「doe」が含まれるドキュメントをクエリします。
この記事が、PHP での MongoDB の正規表現クエリを理解するのに役立つことを願っています。
以上がPHP を使用して MongoDB で正規表現を使用してクエリを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。