使用Accounts.FindUserByUsername在Users集合(Meteor)中搜索用户名

问题描述 投票:0回答:1

非常感谢这里的一些帮助。现在,我正撞在桌子上几个小时。

我正在尝试创建一个简单的搜索功能来搜索用户名。我的目标是能够搜索用户名并最终将所选用户名添加到“团队”集合中。

我试过轻松搜索但没有运气。我正在尝试使用Accounts.FindUserByUsername,但我一直未定义。我安装了帐户密码,顺便说一句。

这是我的代码:

服务器端:

    Meteor.methods({
   findUser: function (username) {
      const user = Accounts.findUserByUsername(username)
      return user
   }
})

客户端:

Template.search.helpers(function() {
   Meteor.call('findUser', 'username', findUserCallback)
})
function findUserCallback(error, username) {
   console.log(username)
}
Template.search.events({
   'submit .search'(event) {
      event.preventDefault()
      Meteor.call('findUser', 'username', findUserCallback)
   }
})

我知道我做的事情非常错,但我无法弄清楚是什么。我没有在网上找到太多帮助。

非常感谢你 - 我真的很感激!

javascript meteor meteor-blaze meteor-accounts
1个回答
0
投票

欢迎来到Stack Overflow Julia。

Meteor用户集合是特殊的,因为它用于身份验证,并且由于存在安全风险,因此不建议在UI中访问其他用户。

通常有另一个名为“玩家”或“成员”的集合 - 这样做的好处是您可以存储其他信息,并且您可以轻松地发布/订阅这些集合并操纵它们,而无需编写Meteor方法做你的工作。

在新集合中,您可以存储用户的_id,因此您可以随时引用用户记录(即用户名)。

© www.soinside.com 2019 - 2024. All rights reserved.