1

我的网站将有两种类型的用户:客户和管理员。他们都需要帐户。对于帐户,内置的流星帐户系统利用了该users集合。有什么方法可以将这两种类型的用户分成单独的集合(例如customersadmins),而不是将它们全部放在一个集合中?我可能还希望将这些类型的用户放在不同的数据库中(在不同的服务器上):一个数据库customers用于admins. 那么,如何告诉 Meteor 哪个数据库用于哪个集合呢?

这是一个电子商务类型的网站。谁能告诉我为什么一个集合更适合客户和管理员使用?在创建网店时使用一个集合而不是两个集合有什么优缺点?

4

2 回答 2

0

您可能想尝试角色角色包。https://github.com/alanning/meteor-roles

您不需要分离集合,只需为不同的用户分配不同的角色。

于 2013-04-01T07:31:41.730 回答
0

为什么不将您的流星分成 2 个实例,一个用于您的客户端,一个用于您的管理界面。就我个人而言,我会使用角色,但如果这是你的偏好,那就没有太大的错误:

您的管理员流星客户端 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);
    }
})
于 2013-04-01T12:26:11.453 回答