MongoDB Insert 方法(第 6 天)
在阅读本文之前,我强烈建议您阅读本系列的以下前几期:
- MongoDB – 第 1 天(MongoDB 简介)
- MongoDB – 第 2 天(在 Windows 中安装 MongoDB)
- MongoDB – 第 3 天(数据库基础知识)
- MongoDB – 第 4 天(收集基础)
- MongoDB – 第 5 天(MongoDB 中的数据类型)
写操作是任何类型的创建和修改数据的操作。关系数据库包含 3 种类型的写操作。它们是插入、更新和删除。MongoDB 有许多写入操作(即插入、更新、保存、删除、更新插入),它们是插入、更新和删除数据。每个写操作都针对一个集合。每个写操作在文档级别都是原子性(atomic )的。
为了删除、保存、更新和插入操作,我们可以指定标准或条件来标识要更新或删除的文档。
这篇文章解释了插入方法。
Insert
MongoDB 中的 Insert 方法类似于关系型数据库的“Insert Into”命令。Insert 方法将新文档插入到集合中。我们可以根据我们的偏好或要求将单个、多个和嵌入的文档插入到集合中。
语法: db.Collection_Name.insert()
插入单个文档
上图显示了将单个文档插入到集合中的基本方法。现在我们在 MongoDB shell 中执行一些查询。
在前面的示例中,我们插入了 3 个文档,但一次只有一个文档在 Employee 集合中。
插入多个文档
在前面的示例中,我们看到了如何将单个文档插入到集合中。如果我们要插入大量数据,这种方法将需要时间。对于此类类型,MongoDB 提供了一种多次插入的方法。使用这种方法,我们可以在单个插入命令中插入多个文档。
让我们看一个例子:
在上面的例子中,我们使用一个插入命令插入了两个文档。
插入嵌入式文档
包含另一个文档的文档,因为它的键值对被称为嵌入式文档。MongoDB 数据库具有灵活的模式,因此不需要在集合文档中具有相同的字段或结构集以及公共字段。下图提供了嵌入式文档结构的基本概念。
让我们看一个例子:
Insert_Behaviour
当我们在没有指定 _id 字段的情况下在任何集合中添加新文档时,MongoDB 会隐式添加一个 _id 字段。此 _Id 字段唯一标识每个文档。如果我们明确提供 _id 字段,那么 MongoDB 首先检查 _Id 字段的值。如果这个 _id 已经存在,那么 MongoDB 将抛出异常。
让我们看一个例子:
在上面的例子中,我们添加了两个文档。在第一个文档中,我们没有指定 _id 字段,因此 MongoDB 内部将 _id 添加到文档中。在第二个文档中,我们提供了一个外部 _id 字段。
再举一个例子:
嵌入文档作为连接的替代
在关系数据库中,我们使用连接从两个或多个表中检索数据。但是在 MongoDB 中我们不需要 Join,我们可以使用嵌入式文档的概念。
让我们看一个具有以下要求的社交网站示例:
- 用户可以发布任意数量的帖子。
- 每个帖子都包含喜欢的总数。
- 每个帖子都有其他用户给出的评论以及他们的用户 ID、消息、日期时间和喜欢选项。
- 每个帖子可以有零个或多个评论。
- 用户可以对帖子发表零次或多次评论
对于这种类型的场景,在关系数据库中,我们需要两个表和表之间的一些关系。
如果您想检索有关帖子的信息,那么我们必须按如下方式执行 Join 操作:
但在 MongoDB 中,我们可以使用 Embedded Document 来执行此操作。我们不需要维护关系,也不需要做任何 Join 操作,如下所示:
如果我们想检索有关帖子的信息,那么我们可以使用以下查询:
我们可以看到,如果我们想要插入和检索相同的信息,那么我们在关系数据库中需要两个表和一个Join操作。我们可以使用不需要 Join 操作的 MongoDB 中的单个集合来做到这一点。
在我的下一篇文章中,我将解释写操作的其他方法。
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!