1

Попытка добавления новых пользователей к users коллекции при регистрации.

На клиентской стороне метеора, я вызываю метод сервера, чтобы добавить пользователя в users коллекции

Meteor.methods({ 
    createUserServer : function (user) { 

     // On server-side, Accounts.createUser is essentially 
     // blocking (Fibers): it waits for the user to be 
     // created, and then returns its newly generated id. 
     try { 
      var userId = Accounts.createUser(user) 
      console.log('user ID: ' , userId); 
      return { success:true , message : userId } 
     } catch (e) { 
      console.log('Meteor Exception: ',e); 
      return { success : false , message : e.reason } 
     } 






    } 
}) 

Добавка происходит хорошо на users коллекции только в первый раз, но после этого, я получаю это исключение:

Meteor Exception: { [MongoError: insertDocument :: caused by :: 11000 E11000 duplicate key error index: meteor.roles.$name_1 dup key: { : null }] stack: [Getter] }

Я проверил roles коллекцию на дб, я нашел только один документ:

db.roles.find() -> возвращается ->{ "_id" : "whef5ZW8sBchDWBuH", "userId" : "WNM7gYDusa2dJY8wd", "roles" : [ ] }

Я не уверен, какой тип проблемы является то, что?

ответ

0

У меня есть.

По какой-то причине name документа был сделан в качестве индекса и уникальным, что вызвало конфликт выше, путем удаления этого индекса, все работает отлично теперь:

Meteor.roles._ensureIndex('name', {unique: 1}) 

Теперь я счастлив :)

Ссылка: https://github.com/orionjs/orion/issues/239

 Смежные вопросы

  • Нет связанных вопросов^_^