在Meteor中为用户使用不同的集合

时间:2015-06-09 12:56:51

标签: mongodb postgresql meteor

我有一个Meteor项目,我不幸被迫通过包meteorsteam:meteor-postgres修改为使用PostgreSQL而不是MongoDB。除了users集合之外,我已经成功地完成了所有工作,它似乎与Meteor焊接在一起。

是否可以使用其他一些收藏品?

我尝试用内存集合Meteor.users = new Meteor.Collection(null)替换它,并连接一些逻辑以将其与psql表同步。这会混淆内置的发布功能,因为该集合没有名称。

不会有很多用户,所以将整个内存作为流星收集并不是问题。

我在互联网上搜索过,但在找不到任何东西时都找不到。

建议?

1 个答案:

答案 0 :(得分:0)

如果可以,一个简单的解决方案是仅为您的用户表使用MongoDB:

if (Meteor.isServer) {
  var database = new MongoInternals.RemoteCollectionDriver("mongodb://127.0.0.1:27017/your_mongodb_base");
  Meteor.users = new Mongo.Collection("users", { _driver: database });
}

实际上,由于meteor-postgres不使用Mongo.Collection而是使用SQL.Collection,因此您甚至可以逃脱:

if (Meteor.isServer) {
  Meteor.users = new Mongo.Collection("users");
}