Meteor.userId vs Meteor.userId()

时间:2014-06-20 05:52:29

标签: meteor userid

我有一小段代码,就像这样,更新用户个人资料中的名称:

Meteor.users.update({_id: Meteor.userId()}, {$set:{"profile.name": name}});

当我在本地工作时,我可以毫无问题地使用Meteor.userIdMeteor.userId()。但是,当我部署到Modulus时,我遇到了问题。如果我没有操作符,它将执行初始$ set,但不会更多。如果我使用运算符,它的行为就像我期望的那样。

这是为什么?我假设我不应该在没有操作员的情况下使用它,但它有什么原因可以使用吗?

2 个答案:

答案 0 :(得分:6)

查看documentation

  • 功能Meteor.userId()可用“任何地方但发布功能”

  • 变量this.userId可用于“Anywhere”(对于服务器端发布功能,也明确地调用它)。

答案 1 :(得分:0)

在尝试使用mocha进行单元测试时,我遇到了与Meteor.userId()相同的问题。

一个简单的解决方法是转到tasks.js并将Meteor.userId()替换为this.userId 是使用函数的this上下文。