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