Згідно з документацією " Мангуста" для MongooseJSта MongoDB/ Node.js:
Коли ваша програма запускається, Mongoose автоматично викликає
ensureIndexкожен визначений індекс вашої схеми. Хоча це приємно для розвитку, рекомендується цю поведінку відключити у виробництві, оскільки створення індексу може спричинити значний вплив на продуктивність. Вимкніть поведінку, встановившиautoIndexпараметр вашої схеми на значення false.
Це, мабуть, дає змогу видалити автоматичну індексацію від мангуста перед розгортанням, щоб оптимізувати Mongoose від того, щоб доручити Mongo переходити та виконувати всі індекси при запуску програми, що, здається, має сенс.
Який правильний спосіб обробляти індексацію у виробничому коді? Можливо, зовнішній скрипт повинен генерувати індекси? Чи, можливо ensureIndex, непотрібно, якщо одна колекція є єдиним читачем / автором колекції, оскільки вона буде продовжуватись індексу кожного разу, коли трапляється запис БД?
Редагувати: Щоб доповнити, MongoDB пропонує хорошу документацію щодо того, як робити індексацію, але не чому, або коли слід робити чіткі директиви щодо індексації. Мені здається, що індекси повинні автоматично оновлюватися програмами авторів у колекціях із існуючими індексами, і ensureIndexце справді більше разової речі (робиться під час застосування нового індексу), і в цьому випадку Mongoose autoIndexмає бути відсутність опції при звичайному перезапуску сервера.