2017-10-13 88 views
0

所以我有一個模型用戶usernamepassword字段。後來我改變它使用電子郵件,而不是用戶名。另一個型號也進行了類似的更改 - 我將其更名爲至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 }) 

刪除數據庫沒有幫助,更改數據庫沒有幫助。我真的不明白它可能來自哪裏。貓鼬中是否存在某種緩存?

回答

0

好的,原因是我錯誤地使用了passport-local-mongoose。它自動創建索引。我需要在選項中指定,而不僅僅是本地策略,我要用哪些字段來輸入用戶名和密碼。而對於第二個模型,它只是被錯誤地插入。