2016-01-02 6 views
1

Вырывается вокруг решения, но для Meteor нет. Если есть, сообщите мне. Я хочу проверить, уже ли выполнено имя пользователя.Проверьте, существует ли имя пользователя в Meteor.

Я понимаю, что это работает только на стороне сервера только:

u = Accounts.findUserByUsername('foo'); 
console.log(u.username); #=> foo 

Я не могу получить мою голову вокруг их паб/к югу, как я могу видеть информацию только на основе текущего пользователя. Метеор говорит, что то, чего я хочу, невозможно?

Когда пользователь заполняет свои данные после регистрации, я хочу, чтобы они были предупреждены (по мере их ввода), если имя пользователя, которое они используют, уже выполнено. Но эту логику я могу легко кодировать, но нужно знать, как разговаривать с сервером, чтобы сообщить мне информацию.

ответ

3

Вы можете написать метод Метеор для этого:

Meteor.methods({ 
    doesUserExist(name) { 
    return Accounts.findUserByUsername(name) != null; 
    } 
}); 

Обратите внимание, что вы должны определить этот метод на сервере, но не на клиенте (например, определив его в файле внутри сервера каталог). Таким образом, Метеор не будет пытаться имитировать его на клиенте (который не сработает, потому что Accounts.findUserByUsername там не определен).

Вызвать метод, как типы пользователей:

Meteor.call('doesUserExist', name, function(error, result) { 
    // `result` is true if the user exists. 
}); 
+0

Ok. Я расскажу об этом позже и расскажу позже. Спасибо – Sylar

+0

Ты спасатель! Он работает очень хорошо! Благодаря!!! – Sylar

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