yii2-mongodb中如何查询两个字段之和大于 10

问题描述

AR查询,YII2框架,如果查询存储在MongoDB数据中的,两个字段之和 大于 10

问题出现的环境背景及自己尝试过哪些方法

YII2中,如果是查询MySQL数据,可以用 ['>','like+comment',10],MongoDB中这种不行

相关代码

 return $provider = new ActiveDataProvider([
            'query'      => Feeds::Find()->where(['>=','likes+comment' ,0]),
            'pagination' => [
                'pageSize' => 10,
            ],
        ]);
阅读 2.6k
1 个回答

实际上可以做到,但是出于性能考虑几乎没有人这么做。考虑把likes+comments的总和存在一个字段,这样查询的时候就只需要一个字段条件,并且还可以在这个字段上建立索引来加速查询。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进