Есть ли способ выполнить подзапрос на MongoDB, используя collection.aggregate () и драйвер PHP? - PullRequest
1 голос
/ 24 сентября 2019

Таким образом, в основном я переносю таблицу MYSQL с 50 миллионами + rows и 40 colums в базу данных MongoDB.Эти данные таблицы отображаются на html table, и каждый столбец доступен для поиска и сортировки.Чтобы повысить производительность при Mysql запросах, я делаю subselect из этой таблицы, фильтруя по столбцу с именем company_id и ограничивая его 50-тысячными строками и упорядочивая по id и date, чтобы получить последние 50-тысячные строки, которыепринадлежит этой компании, а затем из этой subselect я выполняю другую логику фильтрации и упорядочения, отправляемую внешним интерфейсом.Вот как выглядит Mysql Query:

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

Есть способ сделать что-то подобное на MongoDb table, используя драйверы db.collection.aggregate() и Mongo PHP?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...