这是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] 删除。
我来说两句