我目前正在设计我的第一个mongo数据库。我有一个用户集合,这些用户有一个他们自己定义的首选项列表。这是一个合作伙伴的示例:
{
_id : ObjectID,
organization : "organization name",
userID : "1234567",
userPreferences : []
}
基本上,我试图根据可能在我的程序中接收到的不同类型的通知来存储关联的通信首选项。用户可以确定是否要通过文本和电子邮件来通知我是get x类型的通知,但是如果我想通过文本和电子邮件来通知我,则仅需要文本消息。我创建了一个单独的集合,用于存储每种通知类型(x,y等)的属性,如下所示:
{
_id : ObjectID,
organization : "organization name",
serviceCode : "22222",
eventCode : "55555"
}
组织,服务代码和事件代码的组合定义了唯一的通知类型。我希望在用户集合中有一个列表,该列表存储用户针对不同通知类型执行的通知方法。类似于以下内容:
userPreferences : [
NotificationID1 : [TEXT, EMAIL],
NotificationID2 : [TEXT]
]
NotificationID与通知类型集合的ObjectID相关联的位置。在mongo中完成此操作的最佳方法是什么?