Javascript 如何更新嵌套用户集合
我想弄明白这一点已经有一段时间了,我觉得我什么都试过了 我在users下有一个嵌套的集合,名为details。我在从客户端更新细节字段时没有遇到任何问题,但为了安全起见,我显然希望通过服务器运行更新 这是我的服务器代码:Javascript 如何更新嵌套用户集合,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,我想弄明白这一点已经有一段时间了,我觉得我什么都试过了 我在users下有一个嵌套的集合,名为details。我在从客户端更新细节字段时没有遇到任何问题,但为了安全起见,我显然希望通过服务器运行更新 这是我的服务器代码: //server code Meteor.methods({ updateProfile : function() { Meteor.users.update({ _id: Meteor.userId() }, { $set: { "details.phoneNum
//server code
Meteor.methods({
updateProfile : function() {
Meteor.users.update({ _id: Meteor.userId() }, { $set: { "details.phoneNumber" : phoneNumber }
});
}
});
和我的客户代码:
Template.userEdit.events({
'submit updateProfile' : function(e, t){
e.preventDefault();
var firstName = e.target.phoneNumber;
Meteor.call('phoneNumber');
}
});
目前,我正在发布/订阅整个用户集合:
// Server
Meteor.publish("allUserData", function () {
return Meteor.users.find();
});
// Client
Tracker.autorun(function () {
Meteor.subscribe("allUserData");
});
您的服务器方法称为“updateProfile”,但您在客户端上调用“phoneNumber”。在您的案例中,Meteor方法的调用如下所示:
Meteor.call("updateProfile", phoneNumber);
并且您的服务器方法必须接受参数作为输入:
Meteor.methods({
updateProfile : function(phoneNumber) {
//...
}
});
您的服务器方法称为“updateProfile”,但您在客户端调用“phoneNumber”。谢谢!更新代码后,我又遇到了一些问题,但你的回答让我走上了正确的轨道。