有没有办法使用collection.aggregate()和PHP驱动程序在MongoDB上执行子查询?

有没有办法使用collection.aggregate()和PHP驱动程序在MongoDB上执行子查询?,php,mongodb,aggregation-framework,Php,Mongodb,Aggregation Framework,因此,基本上我正在将一个MYSQL表迁移到一个MongoDB数据库,该表有5000多万行和40列。此表数据显示在html表中,每一列都可以搜索和排序。为了在Mysqlquerys上获得更好的性能,我从这个表中选择了子选项,通过名为company\u id的列进行过滤,并将其限制为50k行,并通过id和date进行排序,以获得属于该公司的最后50k行,然后从这个子选择中我执行前端发送的其他过滤和排序逻辑。基本上,Mysql查询就是这样的: SELECT * FROM (

因此,基本上我正在将一个
MYSQL
表迁移到一个
MongoDB
数据库,该表有5000多万行和40列。此表数据显示在
html
表中,每一列都可以搜索和排序。为了在
Mysql
querys上获得更好的性能,我从这个表中选择了
子选项
,通过名为
company\u id
的列进行过滤,并将其限制为50k行,并通过
id
date
进行排序,以获得属于该公司的最后50k行,然后从这个
子选择中
我执行前端发送的其他过滤和排序逻辑。基本上,
Mysql
查询就是这样的:

SELECT *
  FROM (
            SELECT field1, field2, field3, field4 -- other fields
              FROM myTable
             WHERE company_id = 50
             ORDER BY id DESC, dateField desc
             LIMIT 50000
         ) AS tb
 WHERE tb.field1 = 'A filter'
   AND tb.field2 = 'Another filter'
 -- more and more filters
 ORDER BY tb.FIELD3

使用
db.collection.aggregate()
Mongo
PHP
驱动程序,在
MongoDb
表上有没有类似的方法

您可以试用
MongoCollection::aggregate
。看一看