【MongoDB学习笔记】-使用 MongoDB 进行 CRUD 操作(上)

作者:幻好

来源:恒生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 编写的, BSONJSON 的二进制形式,是方便可读的数据格式。 BSONJSON 文档中的所有数据都表示为采用 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
</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值