MongoDB Spring — Получить количество из нескольких коллекций одновременно

#spring #mongodb

Вопрос:

У меня есть эти 2 функции, которые позволяют подсчитывать количество документов из разных коллекций.

 public long getActiveAdsCount() {
    Query activeAdsQuery = new Query(Criteria.where("status").is(true));
    return template.count(activeAdsQuery, adsCollectionName);
}

public long getActiveCampaignsCount() {
    Query activeCampaignsQuery = new Query(Criteria.where("active").is(true));
    return template.count(activeCampaignsQuery, campaignCollectionName);
}
 

Как я могу выполнить эти 2 запроса вместе за один раз и получить нужные данные? Например, вот так:

 {
    "adsCount": 5,
    "campaignsCount": 10
}
 

Комментарии:

1. Короче говоря, нет, вы не можете выполнять агрегирование по нескольким коллекциям с помощью одного запроса. На самом деле, это было бы сложно осуществить, если бы оба поля существовали в одной коллекции.