MongoDB - 嵌入式文档
MongoDB 为您提供了一个很酷的功能,称为Embedded或Nested Document 。嵌入文档或嵌套文档是在另一个文档中包含一个文档的那些类型的文档。或者换句话说,当一个集合有一个文档时,这个文档包含另一个文档,另一个文档包含另一个子文档,等等,那么这种类型的文档被称为嵌入/嵌套文档。
Notes –
- In MongoDB, you can only nest document up to 100 levels.
- The overall document size must not exceed 16 MB.
创建嵌入式文档 -
在 MongoDB 中,您可以轻松地将一个文档嵌入另一个文档中。正如我们所知,在 mongo shell 中,文档使用大括号 ( {} ) 表示,在这些大括号内我们有字段值对。现在在这些字段中,我们可以使用大括号 {} 嵌入另一个文档,该文档可能包含字段值对或另一个子文档。
句法:
{
....
field: {field1: value1, field2: value2}
....
}
让我们借助给定的例子来讨论这个概念——
示例 1:
假设我们有一个名为“GeeksforGeeks”的数据库。现在这个数据库有一个名为“Courses”的集合,这个集合包含一个文档。在这个文档中,我们有一个名为“name”的字段,它包含另一个文档,这个文档包含三个字段(即第一个,中间的,最后一个)及其值。
示例 2:
同样,我们采用 GeeksforGeeks 数据库。在这个数据库中,我们已经有一个名为“Courses”的集合,现在我们在这个集合中添加另一个文档,其中包含选择付费课程的学生的详细信息。在此文档中,我们有一个名为“courseDetails”的字段。该字段包含一个文档,该文档包含一些字段值对和一个包含支付详细信息的子文档。
因此,总的来说 Courses 集合包含两个文档,这些文档包含嵌套文档。