0

Ok I am totally new to MongoDB and started reading MongoDB Definitive guide book. I am on page 7 and it says: "Group Related types of Documents together"

I don't get it :( a document is something like

{"greetings" , "Hello World"} 

so what do they mean by that sentence? could you please give me a more detailed example so I can picture it in my head. Thanks

4

2 回答 2

1

文档实际上更像:{"greetings": "Hello World"}

在这种情况下,它是一个非常简单的文档,仅包含一个键“greetings”和它的值“Hello World”。某些语言可能将其称为关联数组、散列或字典。这个描述的重点是 MongoDB 不关心结构是什么。它是无方案的,并且不需要您确保集合中的每个文档都具有完全相同的结构。但出于效率和组织目的,您倾向于将类似的文档存储在单个集合中。因此,从纯粹的设计角度来看,您最终会得到每个集合非常相似的文档。

MongoDB 中的文档或多或少类似于 JSON 结构(具体来说是 bson)。它可以是任意深度,您可以在选定的对象级别上创建索引以促进更快的搜索。

在大多数情况下,只需将 mongodb 想象成一个花哨的对象存储,其中的对象代表您熟悉的任何语言。特定于您的语言的驱动程序将处理您的本机对象类型和 mongodb 中的 bson 表示之间的桥梁。您创建对象并存储它们。它实际上与理解 mysql 并没有什么不同,但知道您不必定义表模式。只需开始存储您想要的任何内容。

于 2012-05-26T05:32:49.293 回答
1

实际上,文档更像

{ "问候":"Hello World" }

表示文档包含问候语(键),问候语是“Hello World”(值)。文档可以是一组非常复杂的键值对,包括数组、嵌入文档等值。

如果您在同一个集合中包含一堆任意文档,以后很难找到它们。因此,建议将具有共同点的文档分组到一个集合中。

一个相关的例子可能是有一个集合,其中每个文档都代表系统的用户。每个文档中的字段将根据您对每个用户的信息量而有所不同,但至少您可能有一个电子邮件地址、姓名等。然后您可以查询满足某些条件的所有用户。

另一个系列可能有公司。您可能有一组用户或用户 ID 作为公司文档中的一个字段,以代表在公司工作的每个用户,或类似的东西。

我不熟悉你提到的那本书,但也许如果你继续努力,它会开始变得更有意义。如果不是,我建议阅读此处的一些页面以获取更多示例。

于 2012-05-26T05:40:33.147 回答