我计划使用 mongoDB 而不是 RDBMS 重新构建我的数据库。
我的数据库中目前有一些表。我只是想知道..每个表都是一个 mongodb 文档?
我的意思是,包含用户/电子邮件/密码的表会是这样的吗?
{list_of_users: [{email: "value", pass: "value", user: "value"}, {...}, ...]}
我也想知道......这些包含数组的文档具有存储限制,或者可以像数据库中的常用表一样使用,并且我可以添加任意数量的“行”(数组的元素)吗?
提前致谢!!
最佳答案
首先提供一些很好的引用供您查看:
- http://www.mongodb.com/events/mongodb-schema-design
- http://docs.mongodb.org/manual/data-modeling/
- http://www.mysqlperformanceblog.com/2013/08/01/schema-design-in-mongodb-vs-schema-design-in-mysql/
- http://www.youtube.com/watch?v=PIWVFUtBV1Q
- http://www.slideshare.net/friedo/data-modeling-examples
现在基本上总结一下与您的问题相关的内容。
您通常会围绕实体设计 MongoDB 集合(想想 UML 中的 ERD 图)。这意味着它实际上与设计关系模型非常相似,只是您将嵌套某些通常在 SQL 平面结构中分离的详细表。
一个很好的例子是“多对多”关系。通常这会被拆分成一个规范化的表,但在 MongoDB 的情况下,它将嵌套在父关系文档中。
举个例子:“一个用户可以管理多个视频,一个视频可以由多个用户管理”
这种关系通常是通过将 managers
字段嵌入到包含用户 ID 列表的 video
文档中来设计的。
and i can add as many "rows" (elements of an array) as i want?
不可以,BSON 文档的最大大小为 16MB。
关于mysql - 使用 MongoDb 的数据库结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21182278/