Как создать эффективный индекс для mongoDB с равенством и сортировкой по дате ASC и DESC - PullRequest
0 голосов
/ 04 октября 2018

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

db.getCollection('mycoll').find( {product: {$eq: "bread"}}).sort({date: 1})
db.getCollection('mycoll').find( {product: {$eq: "bread"}}).sort({date: -1})

В документации я прочитал:

Например, ключ индексашаблон {a: 1, b: -1} может поддерживать сортировку по {a: 1, b: -1} и {a: -1, b: 1}, но не по {a: -1, b: -1} или {a: 1, b: 1}.

Но я хочу отсортировать только по одной дате поля.Как создать лучший индекс для этого?

1 Ответ

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

https://docs.mongodb.com/manual/tutorial/sort-results-with-indexes/#sort-and-index-prefix читает:

Если ключи сортировки соответствуют ключам индекса или префиксу индекса, MongoDB может использовать индекс для сортировки результатов запроса.Префикс составного индекса - это подмножество, состоящее из одного или нескольких ключей в начале шаблона ключа индекса.

Индекс {date:1, product:1} будет поддерживать оба запроса.

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