Mongodb выполняет несколько запросов в одну поездку - PullRequest
0 голосов
/ 21 октября 2018

Есть ли что-то вродеasticsearch Multi Search API?ссылка: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html.

. У меня несколько запросов, и я хочу передать эти запросы Монго и получить результат по порядку.

1 Ответ

0 голосов
/ 21 октября 2018

Да, в MongoDB есть нечто похожее.Используя Aggregation Framework, вы можете определить несколько конвейеров агрегации внутри $ facet stage.

Try:

db.col.save({a:1})
db.col.save({a:2})


db.col.aggregate([
    {
        $facet: {
            query1: [ { $match: { a:1 } }, { $project: { _id: 0 } } ],
            query2: [ { $match: { a:2 } }, { $project: { _id: 0 } } ],
        }
    }
])

, который печатает:

{ "query1" : [ { "a" : 1 } ], "query2" : [ { "a" : 2 } ] }

Используя$facet Вы должны иметь в виду, что размер одного документа BSON не может превышать 16 МБ.Подробнее об ограничениях агрегации здесь

...