作者:幻好
来源:恒生LIGHT云社区
概述
MongoDB 是一种持久化的面向文档的数据库,用于以文档的形式存储和处理数据。
与其他的数据库管理系统一样,MongoDB 可以通过四种基本类型的数据操作来管理数据并与数据交互:
- C:创建操作,涉及将数据写入数据库
- R:读取操作,查询数据库以从中检索数据
- U:更新操作,更改数据库中已存在的数据
- D:删除操作,从数据库中永久删除数据
以上四种操作统称为 CRUD 操作,本文主要讲解这四种操作的原理和命令等相关知识。
具体操作
连接 MongoDB Server
首先在操作前,先连接到本地或远程可使用的 MongoDB Server ,如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ad1BqIIy-1640060734067)(https://developer.hs.net/storage/attachments/2021/12/12/FvAp6ovUxE6qboTq5fvNik6HM3MkoSDBuUEXkPHK_thumb.png “4132”)]
连接 MongoDB 数据库成功后,就可以开始创建新文档(documents
)。
创建文档
首先先重点介绍如何在 MongoDB 中创建数据文档(documents
)
比如创建一个东方明珠景点对象,可能相关信息有所在国家,城市,坐标等:
{
"name": "东方明珠",
"country": "中国",
"city": "上海",
"location": {
"lat": 121.537,
"lng": 31.258
}
}
MongoDB 的文档是用 BSON
编写的, BSON
是 JSON
的二进制形式,是方便可读的数据格式。 BSON
或 JSON
文档中的所有数据都表示为采用 field: value
形式的字段和值对。
该文档由四个字段组成,首先是景点的名称,其次是城市和国家。所有这三个字段都包含字符串。最后一个字段坐标:location,是一个嵌套文档,详细说明了景点的位置坐标。
insertOne
使用 insertOne
方法将此文档插入到名为 spots
的新集合中。顾名思义,insertOne
用于创建单个文档,而不是一次创建多个文档。
在命令行中,运行以下指令:
db.spots.insertOne(
{
"name": "东方明珠",
"country": "中国",
"city": "上海",
"location": {
"lat": 121.537,
"lng": 31.258
}
}
)
# 输出
{
"acknowledged" : true,
"insertedId" : ObjectId("61b5d4963d2fc20a8483df1a")
}
在执行此 insertOne 方法之前,需要保证未创建 spots 集合。
通过执行这个示例 insertOne()
方法,它不仅会将文档插入到集合中,还会自动创建集合。该操作的输出将通知您它已成功执行,并提供它为新文档自动生成的 ObjectId:61b5d4963d2fc20a8483df1a
在 MongoDB 中,集合中的每个文档都必须有一个唯一的 _id
字段作为主键,所以 _id
字段是唯一的。如果新文档插入时为设置 _id
字段,MongoDB 将自动生成一个对象标识符(以 ObjectId 对象的形式)作为 _id
字段的值。
在文档创建后,可以通过下面命令检查 spots 集合中的对象计数来验证文档是否已插入:
> db.spots.count()
# 输出:
1
</