首页 > 解决方案 > 您可以使用 ObjectID 作为 MongoDb 中数组的键吗?

问题描述

我目前正在设计我的第一个 mongo 数据库。我有一组用户,这些用户有一个他们为自己定义的偏好列表。这是一个同事的样本:

{
   _id : ObjectID,
   organization : "organization name",
   userID : "1234567",
   userPreferences : []
}

基本上,我试图根据他们可能在我的程序中收到的不同类型的通知来存储关联的通信偏好。用户可以确定如果我收到 x 类型的通知,我希望通过文本和电子邮件收到通知,但如果我收到 y 类型的通知,我只想要一条短信。我创建了一个单独的集合,用于存储每种通知类型(x、y 等)的属性,如下所示:

{
   _id : ObjectID,
   organization : "organization name",
   serviceCode : "22222",
   eventCode : "55555"
}

组织、服务代码和事件代码的组合定义了唯一的通知类型。我希望在我的用户集合中有一个列表,用于存储用户针对不同通知类型的首选通知方法。类似于以下内容:

userPreferences : [
   NotificationID1 : [TEXT, EMAIL],
   NotificationID2 : [TEXT]
]

NotificationID 与通知类型集合的 ObjectID 相关的位置。在 mongo 中完成此任务的最佳方法是什么?

标签: mongodb

解决方案


推荐阅读