php での mongodb select の一般的なオペレーション コードの例、mongodbselect_PHP チュートリアル
PHP での mongodb select の一般的なオペレーション コードの例、mongodbselect
前述したように、mongodb のインストール、構成、クラスタリング、php の挿入と更新などについては、mongodb を参照してください。
mongodb select の一般的な操作について話しましょう
テストデータ:
{ "_id" : 1, "title" : "紅楼夢", "auther" : "曹雪琴", "typeColumn" : "test", "money" : 80, "code" : 10 }
{ "_id" : 2, "title" : "siege", "auther" : "Qian Zhongshu", "typeColumn" : "test", "money" : 56, "code" : 20 }
{ "_id" : 3, "title" : "Chaofa Baidi City", "auther" : "Li Bai", "typeColumn" : "test", "money" : 30, "code" : 30 }
{ "_id" : 4、 "title" : "Nearly Wine"、 "著者" : "李白"、 "お金" : 90、 "コード" : 40 }
1. テーブルエントリの数を取得します
>db.books.count(); 4
> db.books.find().count(); 4
> db.books.count({著者: "李白" }); 2
> db.books.find({money:{$gt:40,$lte:60}}).count(); 1
> db.books.count({お金:{$gt:40,$lte:60}}); 1
phpコードは次のとおりであり、順番に対応しています:
コードは次のとおりです:
ヒント: $gt はより大きいことを意味します、$gte は以上を意味します、$lt はより小さいことを意味します、$lte は以下を意味します、$ne は等しくないことを意味します、$exists は存在しません、$in は範囲、$nin は特定の範囲内にないことを指定します
コードをコピーします
コードは次のとおりです:
「お金」:80、
「コード」: 10
}
> db.books.findOne({著者: "李白" }); {
"_id" : 3、
"title" : "朝発百度城",
"著者" : "李白",
"typeColumn" : "テスト"、
「お金」:30、
「コード」: 30
}
PHPコードは以下の通り、順番に対応しています
コードをコピーします
コードは次のとおりです:
> db.books.find( { $query: {著者: "李白" }, $snapshot: true } ); { "_id" : 3, "title" : "Chaofa Baidi City", "auther" : "Li Bai", "typeColumn" : "test", "money" : 30, "code" : 30 }{ "_id" : 4、 "title" : "Nearly Wine"、 "著者" : "李白"、 "お金" : 90、 "コード" : 40 }
コードをコピーします
コードは次のとおりです:
/**
* 注:
* find() 操作を実行して $result カーソルを取得した後も、カーソルは動的です
。 * つまり、find() の後、カーソル ループが完了するまで、条件を満たすレコードがさらにコレクションに挿入されると、それらのレコードも
によって取得されます。*/
$result = $collection->find(array("auther"=>"李白"))->snapshot(); foreach ($result as $id => $value) {
var_dump($value); }
{ "_id" : 2, "title" : "siege", "typeColumn" : "test", "code" : 20 }
{ "_id" : 3, "title" : "Chaofa Baidi City", "typeColumn" : "test", "code" : 30 }
{ "_id" : 4, "title" : "ほぼワイン", "code" : 40 }
> db.books.find({},{"title":1}); // タイトル列のみを表示します
{ "_id" : 1, "title" : "紅楼夢" }
{ "_id" : 2, "title" : "包囲" }
{ "_id" : 3, "title" : "朝発百度市" }
{ "_id" : 4, "title" : "ほぼワイン" }
/**
*money は 60 から 100 の間であり、typecolumn とmoney 列が存在する必要があります
*/
> db.books.find({money:{$gt:60,$lte:100}},{"typeColumn":1,"money":1}); { "_id" : 1, "typeColumn" : "test", "money" : 80 }
{ "_id" : 4、"money" : 90 }
phpコードは次のとおりであり、順番に対応しています:
コードをコピーします
/**
*money は 60 から 100 の間であり、typecolumn と Money 列が存在する必要があります
*/
$where=array('typeColumn'=>array('$exists'=>true),'money'=>array('$exists'=>true,'$gte'=>60,' $lte'=>100)); $result = $collection->find($where);
5. ページネーション
コードをコピーします
コードは次のとおりです:
この mysql、limit、offset は少し似ています。php コードは次のとおりです。
コードは次のとおりです:
コードをコピーします
コードは次のとおりです:PHPコードは次のとおりです:
コードは次のとおりです:
コードをコピーします コードは次のとおりです:
> db.books.find({"title":/城/}); // '%str%' のように、コレクション内のデータをクエリします
{ "_id" : 2, "title" : "siege", "auther" : "Qian Zhongshu", "typeColumn" : "test", "money" : 56, "code" : 20 }
{ "_id" : 3, "title" : "Chaofa Baidi City", "auther" : "Li Bai", "typeColumn" : "test", "money" : 30, "code" : 30 }
> db.books.find({"auther":/^李/}); // 'str%' のように、コレクション内のデータをクエリします
{ "_id" : 3, "title" : "Chaofa Baidi City", "auther" : "Li Bai", "typeColumn" : "test", "money" : 30, "code" : 30 }
{ "_id" : 4、 "title" : "Nearly Wine"、 "著者" : "李白"、 "お金" : 90、 "コード" : 40 }
> db.books.find({"auther":/书$/}); // '%str' のように、コレクション内のデータをクエリします
{ "_id" : 2, "title" : "siege", "auther" : "Qian Zhongshu", "typeColumn" : "test", "money" : 56, "code" : 20 }
> db.books.find( { "title": { $regex: 'City', $options: 'i' } } ); // '%str%' のように、コレクション内のデータをクエリします
{ "_id" : 2, "title" : "siege", "auther" : "Qian Zhongshu", "typeColumn" : "test", "money" : 56, "code" : 20 }
{ "_id" : 3, "title" : "Chaofa Baidi City", "auther" : "Li Bai", "typeColumn" : "test", "money" : 30, "code" : 30 }
phpコードは次のとおりであり、順番に対応しています:
$param = array("title" => new MongoRegex('/城/')); $result = $collection->find($param);
$param = array("auther" => new MongoRegex('/^李/')); $result = $collection->find($param);
$param = array("auther" => new MongoRegex('/书$/')); $result = $collection->find($param);
8、$in、$nin
コードをコピーします
コードは次のとおりです:{ "_id" : 3, "title" : "Chaofa Baidi City", "auther" : "Li Bai", "typeColumn" : "test", "money" : 30, "code" : 30 }
{ "_id" : 4, "title" : "Nearly Wine", "auther" : "Li Bai", "money" : 90, "code" : 40 }
phpコードは次のとおりであり、順番に対応しています:
9、$or
コードをコピーします
コードは次のとおりです:
> db.books.find( { $or: [ { お金: 20 }, { お金: 80 } ] } ); // お金が 20、80 に等しいデータを検索します { "_id" : 1, "title" : "紅楼夢", "auther" : "曹雪琴", "typeColumn" : "test", "money" : 80, "code" : 10 }
$param = array('$or'=>array(array("money"=>20),array("money"=>80))); $result = $collection->find($param); foreach ($result as $id=>$value) {
コードをコピーします
コードは次のとおりです:
> db.books.distinct( '著者' ); [ 「曹雪琴」、「銭仲舒」、「李白」 ]
PHPコードは次のとおりです:
$result = $curDB->command(array("distinct" => "書籍", "key" => "著者")); foreach ($result as $id=>$value) {
var_dump($value); }
$where = array("money" => array('$gte' => 60)); $result = $curDB->command(array("distinct" => "books", "key" => "auther", "query" => $where)); foreach ($result as $id=>$value) {
var_dump($value); }
今回は以上が SELECT の一般的な操作です。次に、もう少し詳しく書きます。
PHPでmongoDBデータベースにクエリを実行するときに、「or」などの複数の条件付きクエリコードを記述するにはどうすればよいですか?
mongodbには$or演算子があります。公式サイトに記載 例は以下の通り:
Simple:
db.foo.find( { $or : [ { a : 1 } , { b : 2 } ] } )
別のフィールドを使用
db .foo.find( { name : "bob" , $or : [ { a : 1 } , { b : 2 } ] } )
$or 演算子は、各 or 句の一致を個別に取得し、結果を返すときに重複を削除します。 1.8 では、多数の $or の最適化が計画されています。詳細については、このスレッドを参照してください。
$or はネストできません。
PHP で複数のテーブルの内容を読み取るための select ステートメントを実装する方法
http://www.bkjia.com/PHPjc/875392.html

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











session_start()iscrucialinphpformangingusersions.1)itInitiateSanewsessionifnoneExists、2)resumesanexistingsession、および3)SetSessionCookieforcontinuityAcrossRequests、ApplicationslicationSliviseSlikeUserauthicationAnticatent。

AIは、作曲家の使用を最適化するのに役立ちます。特定の方法には次のものが含まれます。1。依存関係管理の最適化:AIは依存関係を分析し、最適なバージョンの組み合わせを推奨し、競合を減らします。 2。自動コード生成:AIは、ベストプラクティスに準拠したComposer.jsonファイルを生成します。 3.コードの品質を改善する:AIは潜在的な問題を検出し、最適化の提案を提供し、コードの品質を向上させます。これらの方法は、開発者が効率とコードの品質を向上させるのに役立つ機械学習および自然言語処理技術を通じて実装されています。

HTML5は5つの重要な改善をもたらします。1。セマンティックタグにより、コードの明確性とSEO効果が向上します。 2.マルチメディアサポートは、ビデオとオーディオの埋め込みを簡素化します。 3。フォームエンハンスメントは、検証を簡素化します。 4.オフラインおよびローカルストレージにより、ユーザーエクスペリエンスが向上します。 5。キャンバスとグラフィック機能は、Webページの視覚化を強化します。

MySQL関数は、データ処理と計算に使用できます。 1.基本的な使用には、文字列処理、日付計算、数学操作が含まれます。 2。高度な使用法には、複数の関数を組み合わせて複雑な操作を実装することが含まれます。 3.パフォーマンスの最適化では、Where句での機能の使用を回避し、GroupByおよび一時テーブルを使用する必要があります。

Composerは、PHPの依存関係管理ツールであり、Composer.jsonファイルを介してプロジェクトの依存関係を管理しています。 1)依存関係情報を取得するためのComposer.jsonを解析する。 2)依存関係を解析して、依存性ツリーを形成します。 3)PackagistからVendorディレクトリへの依存関係をダウンロードしてインストールします。 4)Composer.Lockファイルを生成して、依存関係バージョンをロックして、チームの一貫性とプロジェクトの保守性を確保します。

Typetraitsは、Cでコンパイル時間タイプのチェックと操作に使用され、コードの柔軟性とタイプの安全性が向上します。 1)タイプの判断は、STD :: iS_integralおよびstd :: is_floating_pointを介して実行され、効率的なタイプチェックと出力を達成します。 2)std :: is_triviely_copyableを使用して、ベクトルコピーを最適化し、タイプに従って異なるコピー戦略を選択します。 3)コンパイル時間の意思決定、タイプの安全性、パフォーマンスの最適化、コードの複雑さに注意してください。タイプトライトの合理的な使用は、コードの品質を大幅に改善できます。

MySQLで文字セットと照合を構成する方法は次のとおりです。1。サーバーレベルでの文字セットとコレクションの設定:setNames'utf8 '; setCharacterSetutf8; setCollation_connection = 'utf8_general_ci'; 2。特定の文字セットと照合を使用するデータベースを作成します:createdatabaseexample_dbcharactersetutf8collateutf8_general_ci; 3.テーブルを作成するときに文字セットとコレクションを指定:createTableExample_table(idint

MySQLでデータベースを変更するには、間接的な方法が必要です。手順は次のとおりです。1。新しいデータベースを作成します。 2。mysqldumpを使用して、古いデータベースをエクスポートします。 3.データを新しいデータベースにインポートします。 4.古いデータベースを削除します。
