我的网站将有两种类型的用户:客户和管理员。他们都需要账户。对于帐户,内置的meteor帐户系统使用users
集合。有没有办法将这两类用户分成单独的集合(比如customers
和admins
),而不是将它们全部放在一个集合中?我可能还希望将这些类型的用户放在不同的数据库中(在不同的服务器上):customers
的一个数据库和admins
的另一个数据库。那么,如何告诉Meteor哪个数据库用于哪个集合?
这是一种电子商务类型的网站。谁能告诉我为什么一个单一的集合会更好地用于客户和管理员?在创建网上商店时使用一个集合而不是两个集合的优缺点是什么?
答案 0 :(得分:0)
您可能想尝试角色Roles包。 https://github.com/alanning/meteor-roles
您不需要分隔集合,只需为不同的用户分配不同的角色。
答案 1 :(得分:0)
为什么不将meteor分成2个实例,一个用于客户端,另一个用于管理界面。就个人而言,我会使用角色,但如果这是你的偏好,那就没错了:
您的管理员meteor客户端js代码
OtherMeteor = Meteor.connect("http://other_meteor_url")
//get user with username "admin"/connect to a custom method
OtherMeteor.call("getuser",{username:admin}, function(err,result) {
console.log("result")
})
或者您可以直接附加到另一个流星实例上的集合
remote_meteor = Meteor.connect("http://other_meteor_url");
users2 = new Meteor.Collection("users", {manager: remote_meteor})
//wait for the subscription to finish first then use:
console.log(users2.find().fetch())
users2.up
执行自定义功能的另一个流星中的代码:
服务器js:
Meteor.methods({
'getuser':function(query) {
return Meteor.users.find(query).fetch();
},
'updateuser':function(query,modifier) {
return Meteor.users.update(query,modifier);
}
})