MongoDB少数几个协会

蒂博·克莱门特(Thibaud Clement)

这是MongoDB的后续问题:“很少”和“很多”之间的限制在哪里?

我来自关系数据库领域,现在正在与MongoDB一起开发一个新的NoSQL项目。

编辑:我正在与Rails一起进行此项目,并决定移至Meteor进行原型制作,这需要使用MongoDB我提供以下信息,以解释在项目Rails版本上工作时根据数据库架构得出的结论

该项目将基于以下集合:

User
  firstName
  lastName
  emailAddress
  password     

Calendar
  title

Role
  userId
  calendarId

Post
  calendarId
  date
  time
  focus
  format
  blogTitle
  longCopy
  shortCopy
  link
  hashtag
  media
  promotion
  target
  approval
  comment

Auser将能够创建和管理多个服务器,calendars并且Acalendar将允许多个服务器users进行协作。

我认为,这将是一个few-to-few(不是many-to-many)关联,因为:

  • 一个user不应该超过几十个calendars
  • 一个calendar不应该有十几个users

访问模式如下:

  • 用户将登录,并自动显示其日历列表。
  • 的主要动作user是选择acalendar并编辑其内容(posts在此给定日历内为CRUD )。
  • 有时,但绝对不是在每个会话中,user都会需要访问并CRUDusers属于他的一个的列表calendars

用MongoDB构建此类项目的最佳方法是什么?

德瓦什

设计模式之一是将彼此关联的日历存储在其自己的文档中。它将复制日历数据,但是用户交互将非常快,因为在他登录时,他可以看到可以在一个请求中获取的日历。

          {userid : 'X1' , cal = [{} , {}]}

唯一要注意的是,当有人更新日历时,您必须查找所有具有日历的文档并进行更新。因此,在这种模式下读取速度很快,但是写入速度却有点慢。

使用适当的索引将使查找具有特定调用的文档更快

       db.collection.update({cal.id : 123},{});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章