検索
ホームページPHPフレームワークThinkPHPTPフレームワークにおけるmongoの基本動作と注意点を分析する

次の thinkphp フレームワーク チュートリアル コラムでは、thinkphp での mongo の操作を紹介します。

TPフレームワークにおけるmongoの基本動作と注意点を分析する

1. 複数の条件文 (インターネット上の多くは or より 1 つ大きいだけ) 1 より小さい、2 より大きく 4 より小さい

$where['_string'] = 'this.b > 2 & this.b<p>2.group</p><pre class="brush:php;toolbar:false">mysql:
$res = $model->where(['sTaskId'=>['$in'=>$task_array]])->group('a')->field('a,sum(a)')->select();

mongodb:
$key = ['a'=>1]; //groupby的字段
$init = ['num'=>0];//统计的初始值
$option = array(
'table' => 'course’, // 表名
'condition’=>['sTaskId'=>['$in'=>$task_array]], //group中过滤条件
);
//必须要带option
$reduce = "function(obj, prev){prev.num = prev.num+obj.a}";
$model = new TestModel();
$res = $model->group($key, $init, $reduce, $option);
这里讲一下tp的mongo扩展是有问题的,在group里调用where会无效,具体解决方案是要在mongo.class.php文件
a.把$query改为如下:
$query  =  $this->parseWhere(isset($options['condition'])?$options['condition']:array());
当然$this->queryStr  也要改的
b.把$group改为:
$group = $this->_collection->group($keys,$initial,$reduce,$query);

3 など、2 つのマージされたものはありません。クエリで、メインの構成が mysql である場合は、最初に構成ファイル

'mongo' => [
DB_TYPE =>  mongo            
DB_HOST => localhost   
DB_NAME => test
DB_PORT =>  40000
DB_PREFIX =>'' 
DB_USER => ''
DB_PWD => ''
],

で構成し、次にモデル ファイルで構成する必要があります (
a.protected $trueTableName = 'テーブル名';
b.protected $connection = 'driver name, Here is mongo';
c. このモデルは MongoModel を継承します

4. バッチ更新

mysql里只要$res = $model->save(['a'=>1']);
mongo的话需要写成$res = $model->where([])->save(['a'=>1]);

5. Mongo のメモ:

mongo对于数据类型的控制比较严格,如果你存个int的1,用'1'去查是查不到的!

推奨: 「最新の 10 件の thinkphp ビデオ チュートリアル

以上がTPフレームワークにおけるmongoの基本動作と注意点を分析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はsegmentfaultで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール