我必须遵循代码:
var UserSchema = mongoose.Schema({
  email: {
    type: String,
    unique: true
  },
  username: {
    type: String,
    unique: true
  }
});
var User = db.model('User', UserSchema);
var user = new User();
user.email = 'some@email.com'
user.username = 'peter'
user.save(function(err){
  if (err) return console.log(err)
  console.log('user saved')
})
在第一次运行时,它显示user saved完全没问题。在第二次运行时,它给了我
{ [MongoError: E11000 duplicate key error index: node-login.users.$username_1  dup key: { : "peter" }]
  name: 'MongoError',
  err: 'E11000 duplicate key error index: node-login.users.$username_1  dup key: { : "peter" }',
  code: 11000,
  n: 0,
  lastOp: 0,
  connectionId: 1455732,
  ok: 1 }
呢email?它也是重复的,应该返回一个错误。如果每次只抛出一个错误,为什么它是username而不是email?在架构email的上方。username如何mongoose决定首先检查/返回哪些重复项?