gpt4 book ai didi

javascript - 向 meteor 中的用户集合添加字段的正确方法

转载 作者:行者123 更新时间:2023-11-30 10:28:29 25 4
gpt4 key购买 nike

所以我正在尝试将“account_type”字段添加到用户集合中。

Meteor.startup(function () {
if (Meteor.users.find().count() === 0){
var user = Accounts.createUser({
email: 'email@fake.com',
password: 'password'
});
Meteor.users.update({_id: user}, {$set : {account_type: 'admin'}});
}
});

当我调用 Meteor.user().account_type 时,它是未定义的。

我也在某处读到这样的东西可能是必要的:

Meteor.methods({
get_user: function(user_id){
return Meteor.users().find({ _id: user_id}, {fields: {account_type: 1}});
}
});

但是当我调用它的时候我又得到了undefined:

console.log(Meteor.call('get_user', Meteor.userId()));

添加到用户模型的正确方法是什么?

最佳答案

如果你想让账户类型在客户端可见,你需要创建带有所需字段的发布/订阅 channel 。 Meteor 默认只发布username, emailprofile。在 99% 的情况下,调用方法从数据库中获取字段是一个坏主意。

首先,服务器代码:

Meteor.publish('users', function() {
return Meteor.users.find({}, {fields: {accountType: 1}});
});

客户:

Deps.autorun(function() {
Meteor.subscribe('users');
});

运行此程序后,接下来确保客户端不会获取有关其他用户的敏感信息。

关于javascript - 向 meteor 中的用户集合添加字段的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18367644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com