Есть ли способ объединить результаты нескольких запросов mongodb вместе в одном операторе? - PullRequest
0 голосов
/ 24 октября 2019

У меня есть база данных mongodb, которая содержит большой объем данных без согласованной схемы. Он используется для отслеживания взаимодействия в стиле Google Analytics с нашими приложениями. Мне нужно собрать какой-то вывод за целый месяц, но я борюсь с производительностью запроса, и я не очень хорошо знаю MongoDB.

Единственный способ получить результатыограничив интервал времени, который я запрашиваю, одним днем, используя поле _timestamp, которое, по моему мнению, проиндексировано по умолчанию (я могу ошибаться).

db.myCollection.find({internalId:"XYZ",username:"Demo",_timestamp:{$gte:ISODate("2019-09-01T00:00:00.000Z"),$lte:ISODate("2019-09-02T00:00:00.000Z")}}); // Day 1..

db.myCollection.find({internalId:"XYZ",username:"Demo",_timestamp:{$gte:ISODate("2019-09-03T00:00:00.000Z"),$lte:ISODate("2019-09-04T00:00:00.000Z")}}); // Day 2..

db.myCollection.find({internalId:"XYZ",username:"Demo",_timestamp:{$gte:ISODate("2019-09-05T00:00:00.000Z"),$lte:ISODate("2019-09-06T00:00:00.000Z")}}); // Day 3..

Это работает "отлично", но я бы предпочел объединить эти отдельные запросы в SQL - но тогда, я думаю, у меня все равно закончится тайм-аут.

В идеале я бы хотел, чтобы каждый из этих запросов выполнялся отдельно, а набор результатов добавлялся каждый раз и возвращался в конце.

Возможно, мне лучше написать простое приложение для этого.

Помоги мне, Оби-Ван Кеноби, ты моя единственная надежда.

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