虽然在模式/模型中没有用户名,但在mongoDB中创建了username_1的索引

时间:2017-12-11 12:43:25

标签: node.js mongodb mongoose-schema

你好,我希望这个问题很愚蠢,但我对Nodejs / mongoose / MongoDB有疑问。

var SportsSchema = new Schema({
title: String,
internalTitle : String,
semester : String ,
uniqueIdent : { type : String, unique : true, index : true },
sportsType: String,
kindOfSport: String,
description: String,
location: String,
numberOfParts: Number,
recurrence: String,
weekDay1: {type: String, default: 'empty'},
weekDay2: {type: String, default: 'empty'},
startTime1: {type: String, default: 'empty'},
startTime2: {type: String, default: 'empty'},
sportDates: [{
  type: Date
}],
specDates: [{
  type: String
}],
timeFrame: [{
  type: Date
}],
created: {type: Date, default: Date.now },
});

这是架构。只有uniqueIdent是唯一且索引的。一旦nodeJS应用程序启动,mongoDB集合就会有以下索引:_id,uniqueIdent和username。虽然前两个是预期的,但第三个是让我大吃一惊。

我正在使用的其他架构中有一个用户名,但如果它不应该影响这个用户名。

任何帮助都将不胜感激,如果需要更多信息,我将很乐意提供。

其他架构:

var UserSchema = new Schema({
username: {type: String, lowercase: true, unique: true, match: [/\S+@\S+\.\S+/, 'ist nicht erlaubt']},
email: {type: String, lowercase: true, unique: true, match: [/\S+@\S+\.\S+/, 'ist nicht erlaubt']},
firstname :String,
lastname: String,
password: String,
//admin: {type: Boolean, default: false },
permissionLevel: {type: String, default: 'user' },
tr_tmp: {type: Boolean, default: 'false'},
classOne: {type: String, default : 'empty' },
classTwo: {type: String, default : 'empty' },
classThree: {type: String, default : 'empty' }
});

0 个答案:

没有答案