Meteor.userId vs Météore.userId()

J'ai un petit morceau de code, comme ça, pour mettre à jour le nom de mon profil utilisateur:

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

Lorsque je travaille en local, je peux utiliser Meteor.userId ou Meteor.userId() sans problème. Cependant, quand j'déployer pour le Module, je rencontre des problèmes. Si je n'ai pas l'opérateur sur elle, il va faire la première $set, mais pas plus. Si j'ai de l'utilisateur de la part des opérateurs, il se comporte comme je m'attends.

Pourquoi est-ce? Je suppose que je ne devrais pas avoir été à l'aide de ce sans que l'opérateur pour commencer, mais est-il une raison pour laquelle il a travaillé à tous?

  • Meteor.userId() et Meteor.nom d'utilisateur ne peut pas être la même. Meteor.userId retourne une fonction Météore.userId() retourne une chaîne de caractères. je pense que vous parlez à ce sujet.nom d'utilisateur qui est disponible uniquement à l'intérieur de publications et Meteor.des méthodes.
  • Nope, aussi étrange que cela puisse être, j'ai été en utilisant un Météore.userId, côté serveur et non pas dans une publication.
  • Probablement de la configuration de la _id à la représentation de chaîne de la Meteor.userId fonction. Quelque chose comme "function() { ... }". Qui va réussir à définir la valeur, mais ce n'est pas ce que vous voulez. Pouvez-vous ouvrir votre mongo de la console et regarder à travers quelques documents pour voir ce que le _id champs ressembler? meteor mongo de la CL
  • juste pour être clair, vous écrivez un Météore.userId retourne une fonction, ce qui est incorrect. Les fonctions de retour valeurs (éventuellement), tandis que Meteor.userId magasins (est) une fonction.
InformationsquelleAutor Itinerati | 2014-06-20