【发布时间】:2013-06-26 11:17:46
【问题描述】:
假设我有聊天室作为 Meteor 应用程序的一部分,并且在每个聊天室中,用户应该看到聊天室中还有谁,以及所有其他聊天室中的用户数量。
我应该将每个用户所在的聊天室存储在哪里?应该是
- 在提供的
Meteor.users集合中,作为每个用户下的属性? - 在
Chatrooms集合中,作为每个聊天室中的用户列表? - 什么是非规范化数据的正确方法,以便用户无需推送所有这些用户记录即可查看其他聊天室中的人数?
一个相关问题:我什么时候应该将东西存储在 Meteor.users() 中,而不是包含用户 ID 和房间文档的单独集合,例如 ChatroomParticipants?即:
{ user: "foo", room: "room 1" }
{ user: "bar", room: "room 2" }
此外,有没有办法进行设置,以便用户可以从多个窗口登录到同一个应用程序并处于不同的房间?也就是说,特定用户的呈现不依赖于使所有内容在会话之间发生变化的某些全局状态。
【问题讨论】:
标签: collections meteor state denormalization