Задать вопрос
@ikerya

Почему mongoose не вызывает createIndex?

Не понимаю почему mongoose не вызывает createIndex НА новой модели. В коллекции в mongo shell индексы, указанные в схеме модели, не отображаются (потому что не создаются); есть лишь только один индекс на поле _id.

Удалял коллекцию в moongo shell не один раз и пытался проверить снова, но всё напрасно. Также пытался убрать useCreateIndex в конфиге mongoose, но мне даже deprecation warning не выдаёт, типа ensureIndex is deprecated, use createIndex instead.

В mongo shell индекс спокойно создаётся через createIndex, но это не дело. Толку тогда от схемы мангуста..

Options при подключении к мангусту:

{
    "useNewUrlParser": true,
    "useFindAndModify": false,
    "useCreateIndex": true,
    "useUnifiedTopology": true
}

Файл модели (mongoose.connect не добавлен в пример):

const { Schema, model } = require('mongoose');
const schema = new Schema({
    telegramId: { type: Number, required: true, unique: true }
});
    
module.exports = model('User', schema);
  • Вопрос задан
  • 315 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@ikerya Автор вопроса
Я также объявлял методы для этой модели, один из которых имел имя init, и по сути заменял системный метод init mongoose, что привело к данной ошибке.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы