Mongoose продолжает создавать индексы для старых полей, которые больше не существуют

Итак, у меня была модель пользователя с username а также password поля. Позже я изменил его, чтобы использовать электронную почту вместо имени пользователя. Аналогичное изменение было сделано на другой модели - я переименовал username в name, Оба поля использовали уникальную проверку из mongoose-unique-validator, Теперь, когда я запускаю сервер, мангуст создает индексы для всех полей, старых и новых. Первая и последняя вещи больше не существуют в схемах:

Mongoose: users.ensureIndex({ username: 1 }, { unique: true, background: true })
Mongoose: people.ensureIndex({ name: 1 }, { unique: true, background: true })
Mongoose: people.ensureIndex({ uri: 1 }, { unique: true, background: true })
Mongoose: people.ensureIndex({ username: 1 }, { unique: true, background: true })

Удаление базы данных не помогло, изменение базы данных не помогло. Я действительно не понимаю, откуда это может исходить. Есть ли какое-то кеширование в мангусте?

1 ответ

Хорошо, причина этого была passport-local-mongoose что я использовал неправильно. Он создает индексы автоматически. Мне нужно было указать в опциях, а не только в локальной стратегии, какие поля я хочу использовать для имени пользователя и пароля. А для второй модели он был просто по ошибке подключен.

Другие вопросы по тегам