Mongodb 为什么arr数组创建后不在users对象中?
我试图使arr成为每个用户都拥有但从未发送到客户端的数组。一天前,它在用户创建时停止放入用户对象。这是代码;谢谢 客户Mongodb 为什么arr数组创建后不在users对象中?,mongodb,meteor,Mongodb,Meteor,我试图使arr成为每个用户都拥有但从未发送到客户端的数组。一天前,它在用户创建时停止放入用户对象。这是代码;谢谢 客户 Template.create_user.events({ 'click #create-user-button': function() { var username = $("#username").val(); var password = $("#password").val(); var email = $("#email").val();
Template.create_user.events({
'click #create-user-button': function() {
var username = $("#username").val();
var password = $("#password").val();
var email = $("#email").val();
var bio = $("#bio").val() || "";
if (!username || !password || !email) {
} else {
Accounts.createUser({
username: username,
password: password,
email: email,
arr:[],
profile: {
bio: bio
}
});
}
}
});
server/user.js
Accounts.onCreateUser(function(options, user) {
if (options.profile)
user.profile = options.profile;
return user;
});
获取最多包含4个字段的对象:用户名、电子邮件、密码和配置文件。您正在传入arr
,服务器将忽略此消息。您有两个选择:
arr
放入profile
对象内部arr
添加到Accounts.onCreateUser
回调中的用户Accounts.createUser({
用户名:用户名,
密码:密码,
电邮:电邮,,
简介:{
生物:生物,
arr:[]
}
});
备选案文2:
Accounts.onCreateUser(函数(选项,用户){
if(options.profile)
user.profile=options.profile;
user.arr=[];
返回用户;
});
在这种情况下,您还需要发布额外的字段,以便客户端可以看到它。请参阅文档的一节。具体而言:
//服务器
Meteor.publish(“userData”,函数(){
if(this.userId){
返回Meteor.users.find({u-id:this.userId},{fields:{arr:1}});
}否则{
这个;
}
});
//客户
Meteor.subscribe(“用户数据”);
这些API很长一段时间都没有改变,所以除了胡乱猜测之外,我没有什么可以提供的。:)