const UserSchema = new mongoose.Schema({
username: {type: String, unique:true},
fullname: {type: String, unique:false,default:''},
email: {type: String, unique:true},
password: {type: String, unique:false, default: ''},
userImage: {type: String, default:'default.png'},
facebook: {type: String, default: ''},
fbTokens: Array,
google: {type: String, default:''}
}, {timestamps: true});
这是我的用户架构。如果我删除在电子邮件,密码,用户名和全名上创建的索引,并使用mongoose重新启动我的快递应用程序,它会重新创建这些数据库索引。如何防止这种情况发生?
答案 0 :(得分:0)
如果您不想要这些字段上的索引,那么只需从架构定义中删除visible
部分即可。请注意,如果您需要在整个集合中强制实现真正的唯一性,那么总是需要通过db(MongoDB)级别上的唯一索引来完成。
unique:{Boolean} - 告诉Mongoose确保创建唯一索引 为这条道路。