Я хочу отсортировать коллекцию документов на бэкэнд с помощью Meteor в публикации. Я хочу, чтобы я правильно индексировал коллекцию, и я не мог найти конкретных способов сделать это для полей, которые я хочу.Индексация метеоров для эффективной сортировки
В принципе, я хочу найти все документы в коллекции «S», у которых есть поле «a», равное определенному строковому значению. Затем, после того, как у меня есть все эти документы, я хочу отсортировать их по трем полям: b, c (по убыванию) и d.
Будет ли это правильно индексировать его:
S._ensureIndex({ a: 1 });
S._ensureIndex({ b: 1, c: -1, d: 1 });
S.find({ a: "specificString"}, { sort: { b: 1, c: -1, d: 1 } });
В качестве бонуса вопрос, поле «d» время добавляется в миллисекундах, и было бы весьма маловероятно, что есть копия документа со всеми 3 поля являются одинаковыми. Должен ли я также включать уникальный индекс в индекс?
S._ensureIndex({ b: 1, c: -1, d: 1 }, { unique: true });
Будет ли добавлена уникальная опция помощи при любой сортировке и индексировании? Мне также интересно, что общего было для индексированного сортировки по монго? На их странице говорится, что индексированные сортировки не нужно делать в памяти, потому что они просто читают. Означает ли это, что сорт мгновен?
Спасибо за вашу помощь :)