ニックネームなしでドキュメントを2回挿入しようとすると、MongoDBエラーが発生します。文書にはすでに固有のフィールドがあり、必須ではありません。ここで一意のフィールドを持つ重複キーエラーコレクション
は私のマングースモデルです:初めて
var schema = new Schema ({
username: {
type: String,
required: false
},
nickname: {
type: String,
required: false,
unique: true,
trim: true
},
status: {
type: String,
required: false,
trim: true,
minlength: 1,
maxlength: 100
},
avatar: String,
online: {
type: Boolean,
default: false
},
created: {
type: Date,
default: Date.now
},
device: {
type: ObjectId,
ref: 'Device',
required: false
},
createdRooms:[{
type: Schema.Types.ObjectId,
ref: 'Room'
}],
facebook: {
facebookToken: {
type: String,
required: false,
trim: true,
unique: false
},
facebookId: {
type: String,
required: false,
trim: true,
unique: false
}
}
},
{
toObject: {
virtuals: true
},
toJSON: {
virtuals: true
}
});
、ニックネームのない文書がデータベースに追加されますが、私はニックネームずに別の文書を保存するとき、私はエラーを取得します:
MongoError: E11000 duplicate key error collection: grooptag.users index: nickname_1 dup key: { : null }
ニックネームは必須ではないが一意ではないという問題はありませんか? –
@NadiaCerezoはい、ただし、フィールドが一意で、必須ではないことを確認する方法はありますか? – nickheck