Meteor JS - 在不同的客户端之间共享集合(如管理员门户与消费者门户)

Posted

技术标签:

【中文标题】Meteor JS - 在不同的客户端之间共享集合(如管理员门户与消费者门户)【英文标题】:Meteor JS - sharing Collections among distinct clients (like Admin portal vs Consumer portal) 【发布时间】:2015-06-10 14:10:40 【问题描述】:

2 年前提出了一些类似(但不相同)的问题,但没有 100% 得到回答。

(Segmented Meteor App(s) - loading only half the client or two apps sharing a database;

Meteor: Different collections, different databases)

由于 Meteor 发生了很大变化,想知道是否有更好的方法来执行以下操作(我知道角色、发布订阅等):

简单示例:假设我有一个带有 2 个门户的餐厅订购应用:

(1) 消费者方面, 有帐户,以及您的食品订单表格并使用信用卡付款(假设 # 已存储,不使用 Stripe 等)。

(2) 管理员端, 有帐户,用于餐厅管理收到的订单和跟踪付款,查看信用卡号。

假设更复杂 + 非常高的安全要求,这是否会被构建为 1 个整体流星应用程序?或者是否有一种标准方法将其分成 2 个(如传统的 MVC 框架,您可能有 3 个数据库 - 1 个消费者数据库、1 个管理数据库、1 个用于共享敏感数据(如信用卡号)的数据库 - 和2 个 SPA 客户)。出于以下原因,将其分为 2 会更好:

(1) 2 个门户的不同帐户类型 - 例如管理员需要 2FA。实际上,我也更喜欢使用单独的数据库来进行安全和备份预防措施。

(2) 用于代码管理/分发目的

(3) 也因此我们不必将所有管理模板发送给消费者。

【问题讨论】:

最重要的是——我想问是否有一种 标准 方法可以特别适合 Meteor——即不仅仅是可以/无法工作。 (即一个可能的答案就是“否”) 【参考方案1】:

我认为您可以使用两个 Meteor 应用程序访问同一个 Mongo 数据库。

【讨论】:

以上是关于Meteor JS - 在不同的客户端之间共享集合(如管理员门户与消费者门户)的主要内容,如果未能解决你的问题,请参考以下文章

Meteor,如何使用乐观的 UI 更新集合

如何在 javascript (meteor.js) 中操作返回的 mongo 集合/游标?

Meteor:在不同的文件中使用它时临时保存本地集合

日期查询之间的 Meteor.js / MongoDB 不返回数据

我可以将同一个数据库用于多个 Meteor 应用程序吗?

Meteor:Minimongo 不与 MongoDB 同步