Comment mettre à jour en partie meteor.users.profile?
J'ai commencé un min application basée sur meteor standard avec le module des comptes-ui.
Il y a une collection créée appeler les utilisateurs de l'un de ses éléments est de profil, ce nouveau, a un élément appelé "nom", qui reçoit le nom de connexion.
Dans cette application de test est une option pour mettre à jour un profil utilisateur. Les données pour la mise à jour vient de la soumission d'un Formulaire. J'ai joint l'écouteur d'événement ici
Template.profile.events({
'submit form': function(event) {
event.preventDefault();
var data = SimpleForm.processForm(event.target);
Meteor.users.update(Meteor.userId(), {$set: {profile: data}});
}
});
De sorte que les données a tout de la forme. L'identifiant de connexion "nom" n'est pas contenu dans la forme donc pas dans les données.
avant la mise à jour j'ai des utilisateurs.de profil.nom -> contient des données
après la mise à jour j'ai des utilisateurs.de profil.* -> * est égal à tout, de la forme, mais "nom" est allé.
Enfin: qui puis-je garder le profil.nom de domaine ? À la fin, je tiens à avoir des utilisateurs.profil everthing de la de PLUS le "nom" déposée.
Merci de tout soupçon, comme vous l'avez lu, je suis nouveau sur le meteor - et d'essayer de comprendre comment les choses se lier ensemble.
Michael
source d'informationauteur MBushveld
Vous devez vous connecter pour publier un commentaire.
Vous êtes le remplacement de l'ensemble de l'existant objet de profil avec vos données d'objet, donc tout ce qui était là avant, y compris le nom de la clé, va être rayé de la carte.
Si le nom est la seule chose dans le profil que vous souhaitez conserver, il vous suffit d'ajouter les données de l'objet avec sa propre clé. De cette façon, le nouvel objet que vous placez sous le profil aura un nom de domaine qui est équivalent à l'ancien.
Vous pouvez facilement conserver les anciennes données de profil tout en mettant à jour les pièces que vous souhaitez modifier comme ceci:
Assurez-vous de profil".someNewField" est entre guillemets.