如何在mysql中将mysql的“分组依据”,“具有”查询转换为mongodb

团台

我正在尝试将查询从mysql转换为mongodb

在MySql中,我使用:

$top_orders = Orders::find(array(
                    "columns" =>"pro_id",
                    "group"=>"pro_id",
                    "having"=>"count(pro_id) > 100",
                    "order"=>"RAND()",
                    "limit"=>5
                )
            );
尼尔·伦恩

与此并没有直接的关联,但是最接近的是通过实现Collection中的gregation()方法

$top_orders = Orders::aggregate(array(
   array( '$group' => array( 
       '_id' => '$pro_id',
       'count' => array( '$sum' => 1 )
   )),
   array( '$match' => array( 
       'count' => array( '$gt' => 100 )
   )),
   array( '$sort' => array( 'count' => -1 ) ),
   array( '$limit' => 5 )
));

如您所见,缺少的部分是您的RAND()功能,在MongoDB聚合查询中没有直接替代项可以在聚合管道中生成这样的随机数。

但是,您可以按照此处的示例执行我的操作,并按您提供的内容进行排序,例如tge“ count” total。$project如果您认为需要在输出中使用特定名称,也可以使用更改字段。$group管道需要一个“关键”的_id,因此通常是在最佳性能方面的考虑见好就收单独。

因此,基本步骤,如果你能忍受它是$group$match$sort$limit这些都是聚合流水线阶段,这是MongoDB像DSL这样的SQL一样无法将其很好地转换为任何实现的通用方式find()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Linq查询具有分组依据

来自分类Dev

MySQL查询-嵌套与分组依据

来自分类Dev

优化具有时区转换并按小时分组的Mysql查询

来自分类Dev

如何在mysql中将行分组为具有特定大小的块

来自分类Dev

如何在MySQL函数中将SQL选择查询转换为格式化的HTML表

来自分类Dev

如何在MYSQL中将具有相同类型ID的不同行数据分组?

来自分类Dev

如何在PHP mongo查询中将unix时间戳转换为mongodb日期

来自分类Dev

Linq查询使用分组依据并具有

来自分类Dev

如何在MySQL中将位转换为字符串?

来自分类Dev

如何在MySQL中将varchar转换为bigint

来自分类Dev

MySQL-具有分组条件的查询

来自分类Dev

如何在MySQL中将字符串转换为数字?

来自分类Dev

如何在节点中将MongoDB查询转换为Mysql

来自分类Dev

如何在MySQL中将多行(但只有一列)转换为单行

来自分类Dev

将MySQL查询转换为mongoDB

来自分类Dev

如何在php mysql中将列数据转换为行

来自分类Dev

MySQL分组依据和查询顺序

来自分类Dev

将包含where,分组依据,求和且必须Linq的MySQL语句转换为Sql

来自分类Dev

大型mysql查询,分组依据

来自分类Dev

如何在Shell脚本中将MySQL查询输出转换为数组形式?

来自分类Dev

如何在MySQL中将varchar日期转换为datetime

来自分类Dev

如何在MySQL OpenCart中将12转换为24

来自分类Dev

在Python中将具有Datetime字段的MongoDB查询字符串转换为Dict

来自分类Dev

具有总和,联接和分组依据的Mysql子查询

来自分类Dev

MYSQL查询选择具有相同列和分组依据的

来自分类Dev

具有多个联接,max()和分组依据的慢速MySQL查询

来自分类Dev

如何在mysql中将datetime转换为bigint?

来自分类Dev

如何将带有分组依据、聚合和连接的 SQL 查询转换为实体框架查询?

来自分类Dev

如何在mysql中将列转换为行(具有相同值的列)

Related 相关文章

  1. 1

    Linq查询具有分组依据

  2. 2

    MySQL查询-嵌套与分组依据

  3. 3

    优化具有时区转换并按小时分组的Mysql查询

  4. 4

    如何在mysql中将行分组为具有特定大小的块

  5. 5

    如何在MySQL函数中将SQL选择查询转换为格式化的HTML表

  6. 6

    如何在MYSQL中将具有相同类型ID的不同行数据分组?

  7. 7

    如何在PHP mongo查询中将unix时间戳转换为mongodb日期

  8. 8

    Linq查询使用分组依据并具有

  9. 9

    如何在MySQL中将位转换为字符串?

  10. 10

    如何在MySQL中将varchar转换为bigint

  11. 11

    MySQL-具有分组条件的查询

  12. 12

    如何在MySQL中将字符串转换为数字?

  13. 13

    如何在节点中将MongoDB查询转换为Mysql

  14. 14

    如何在MySQL中将多行(但只有一列)转换为单行

  15. 15

    将MySQL查询转换为mongoDB

  16. 16

    如何在php mysql中将列数据转换为行

  17. 17

    MySQL分组依据和查询顺序

  18. 18

    将包含where,分组依据,求和且必须Linq的MySQL语句转换为Sql

  19. 19

    大型mysql查询,分组依据

  20. 20

    如何在Shell脚本中将MySQL查询输出转换为数组形式?

  21. 21

    如何在MySQL中将varchar日期转换为datetime

  22. 22

    如何在MySQL OpenCart中将12转换为24

  23. 23

    在Python中将具有Datetime字段的MongoDB查询字符串转换为Dict

  24. 24

    具有总和,联接和分组依据的Mysql子查询

  25. 25

    MYSQL查询选择具有相同列和分组依据的

  26. 26

    具有多个联接,max()和分组依据的慢速MySQL查询

  27. 27

    如何在mysql中将datetime转换为bigint?

  28. 28

    如何将带有分组依据、聚合和连接的 SQL 查询转换为实体框架查询?

  29. 29

    如何在mysql中将列转换为行(具有相同值的列)

热门标签

归档