如何在MongoDB中建模数据
How to model data in MongoDB?
我是非关系数据库的新手,因此我想知道如何建模我的数据。我的项目是一个简单的待办事项应用程序,有项目和任务。请看看我现在是怎么做的,让我知道这是正确的,或者我可以做得更好:
projects: [{
_id: 23423423423,
name: projectName1,
tasks: [{
_id: 3423423423423324,
title: "do something",
isCompleted: "false"
},
{
_id: 23223423423324,
title: "do something else now",
isCompleted: "false"
},
{
_id: 232234233423423,
title: "i have completed this",
isCompleted: "true"
}]
},
{
_id: 2342123123,
name: projectName2,
tasks: [{
_id: 3423423423422314,
title: "build this",
isCompleted: "false"
},
{
_id: 2322342342234234,
title: "build something else now",
isCompleted: "false"
},
{
_id: 2322342323423423,
title: "i have completed building this",
isCompleted: "true"
}]
}
假设projects
实际上是集合名称,那么这看起来很好,如果不是,那么每个项目制作一个文档并使用某种形式的user_id
将它们链接在一起可能会更高效。
tasks
随着时间的推移而持续增长,您可能会面临某些碎片问题(http://www.10gen.com/presentations/storage-engine-internals可以解释更多),如果这成为问题(我非常怀疑),您可以使用2个大小分配的权力:http://docs.mongodb.org/manual/reference/command/collMod/#usePowerOf2Sizes
然而,总的来说,这似乎是正确的。
相关文章:
- 用程序搜索JQuery数据表中的文本
- 要求输入在数据列表中
- 正在将数据主题添加到所有项目
- 函数参数中的数据与指定变量之间的任何性能差异
- 在VanillaJS中模拟模型双向数据绑定
- CSS-如何定位内容数据标题
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 如何在类似Om的不可变应用程序状态下对关系数据进行建模
- 来自Svc的数据未建模到视图元素AngularJS中
- 如何在角度 js 中对数据进行建模
- 如何在JavaScript中对此数据结构进行建模?(AngularJS)
- 用于建模2D、3D数据的Javascript控件
- 骨干网复杂数据建模如何读取
- Angularjs单元测试不从SELECT节点建模数据
- 用AmplifyJS存储KnockoutJS建模数据
- 如何在MongoDB中建模数据
- 数据建模,如何将这样的结构建模成类
- 使用promise在angularJS中建模异步数据
- 如何使用AngularJS/Firebase建模数据-何时使用控制器?