具有列表属性的MongoDB对象模型设计
我刚开始使用MongoDB,我对使用list属性构建对象模型感到困惑。 我有一个与追随者相关的用户模型,下面的对象是用户ID列表。 因此,我可以想出一些对象模型结构来表示这种关系具有列表属性的MongoDB对象模型设计,mongodb,database-design,model,Mongodb,Database Design,Model,我刚开始使用MongoDB,我对使用list属性构建对象模型感到困惑。 我有一个与追随者相关的用户模型,下面的对象是用户ID列表。 因此,我可以想出一些对象模型结构来表示这种关系 嵌入式文档。追随者和追随者嵌入到用户模型中。这样,在许多web框架中,每个请求都会生成一个“current_user”对象,序列化/反序列化Follower和Following list属性是额外的开销,因为我们很少在大多数请求中使用这些属性。我们可以在生成“当前用户”时排除这些属性。但是,在对其进行任何更新之前,我们
设计具有一些相关列表属性的模型的建议方法是什么?对于来自SQL世界的人们(比如我自己),关于MongoDB最难了解的事情之一是新的模式设计风格。在SQL世界中,一切都进入第三范式。人们开始认为设计他们的模式只有一种正确的方法,因为通常只有一种 在MongoDB世界中,没有最好的模式设计。更准确地说,在MongoDB中,模式设计取决于应用程序如何访问数据 以下是为MongoDB设计良好模式所需回答的关键问题:
- 你有多少数据
- 您最常见的操作是什么?您主要是插入新数据、更新现有数据还是执行查询
- 您最常见的问题是什么
- 你最常见的更新是什么
- 您希望每秒执行多少I/O操作
- (MongoDB正在运行)
- (MongoDB的文档设计)