mongo 的基本操作

简介: 这里可能有的人又会说,使用use xxx 确实切换了数据库,但是在show dbs 里面怎么看不到,这是因为mongo 给你创建了数据库,但是里面没有东西,等有东西的时候自动显示出来。

mongo 和 mysql 一样,都有一些终端命令,如查看数据库,查看集合,新增集合,删除集合等


数据库的操作


在终端,使用 mongo 命令,进入mongo的shell


查看所有的数据库


show dbs;


8f570be15fd94f1f8fbc721e937ecf53.png


查看当前使用数据库


db;


e28cd1cccd3648569a06a6bef6a4d294.png


这里可能有的同学我都没有test库,为啥会有test这个数据库?


个人理解是mongo 是一个动态的数据库,他会默认的给你创建一个数据库而不需要你自己手动来创建。


查看当前数据库状态


db.stats();


326032a528c8483db72dc18dd6ca593a.png


查看数据库中所有的集合


show collections;


47cba3b1658c4ead9121a11c37014629.png


新增数据库


use xxx xxx 是数据库名称


f185df8a68a645048aec7b9457041f88.png


这里可能有的人又会说,使用use xxx 确实切换了数据库,但是在show dbs 里面怎么看不到,这是因为mongo 给你创建了数据库,但是里面没有东西,等有东西的时候自动显示出来。


42505a170ecf4c15bcbaf37196474ae2.png


删除数据库


db.dropDatabase()


0b54a36f259a4f02802ea00cb7aa291c.png


数据库的CRUD


所有的数据库都有增删改查(CRUD), mongo 也有crud, 但是mongo 写的不是sql语句,而是类似js 一样,来调用方法。


插入文档


插入单条数据


db.collection.insertOne(obj): 将单个文档插入集合collection中,这个会在当前数据库自动创建一个集合collection,然后插入文档的内容


76e6ab9983284f5c88c3d01b6531f270.png


这里的文档内容可以不同,插入的内容也可以不同哦!如:


10a26cdea37048098102909711bdb8cf.png


插入多条数据


db.collection.insertMany([obj1, obj2])


a5188cd7f85649fab21d629d3f5dd544.png

f271443e22244f02a0372c67edd33670.png


新的文档如果没有指定字段_id,则会自动添加一个字段_id作为主键

自动的主键是一个ObjectId对象,该对象是通过调用函数ObjectId()创建的

它的原理是根据时间戳+机器码+进程Id+自增量生成的一个十六进制的唯一字符串

使用ObjectId函数还可以把某个字符串还原成一个ObjectId对象,例如ObjectId("xxxxx")


查询数据


db.inventory.find( {} ) : 如果里面不传参数,是全查数据


f9e0d7ca9da644229bb928e9ac35fd09.png


传入参数类似filter函数,如:


c984aa5d750d4eae80bb0007b67d2ae6.png


修改文档


更新单个文档


db.collection.updateOne(<filter>, <update>): 修改单个文档是单挑查询出来,然后进行修改;


76747b4eb8994f1db884bfb783609da5.png


更新多个文档


db.collection.updateMany(<filter>, <update>):更新多个文档是,通过filter查询出多条来,进行更新.


8e3ab071b9de484681c6ad0f47f843e9.png


替换单个文档


db.collection.replaceOne(<filter>, <update>):先通过filter条件来查询文档(只会找到第一条),然后进行替换;


694ab6a4f2f04114b01814bc3e25cf50.png


##删除文档


删除一条数据


db.collection.deleteOne(查询对象): 先通过filter函数来查询一条数据,然后进行删除;


08c3d4b9c81e4eba83ddaf8de7d90a0e.png


删除多条数据


db.collection.deleteMany(查询对象): 通过filter函数查询多个,然后进行删除。


0ad1942741224c8ab0d7b07b49880aff.png

相关文章
|
监控 NoSQL 数据库
云数据库MongoDB监控指标解读与关注
为方便开发者的使用,云数据库MongoDB提供了许多查看其运行状态指标的命令。如何分析这些繁多的数据指标?又如何使用这些数据指标解决我们业务中出现的问题呢?本文将带大家了解查看这些监控指标的命令并为大家逐一解读其中一些重要的指标。
11225 0
|
NoSQL MongoDB 索引
带着问题看 MongoDB——collStats 和 dbStats 命令中的各种 size 怎么理解
MongoDB 底层使用了 WiredTiger 存储引擎,WT 使用的块分配策略会产生磁盘碎片,通过理解collStats 和 dbStats 命令中的各种 size,最后我们看下真正的磁盘碎片率怎么计算,是否需要做 compact。
3716 0
|
NoSQL MongoDB
启动mongodb报错 Failed to set up listener: SocketException: Address already in use 解决办法
启动mongodb报错 Failed to set up listener: SocketException: Address already in use 解决办法
1518 1
|
6月前
|
Linux 数据处理 Python
编译dpdk19.08.2中example时一系列报错解决
编译dpdk19.08.2中example时一系列报错解决
293 4
|
7月前
|
人工智能 自然语言处理 数据安全/隐私保护
阿里云中国金融大模型整体市场第一
阿里云以33%的市场份额夺得中国金融大模型整体市场第一
|
NoSQL MongoDB Python
【Python】已完美解决(MongoDB安装报错)Service ‘MongoDB Server (MongoDB)’ (MongoDB) failed tostart
【Python】已完美解决(MongoDB安装报错)Service ‘MongoDB Server (MongoDB)’ (MongoDB) failed tostart
765 1
|
7月前
|
存储 NoSQL MongoDB
微服务——MongoDB常用命令1——数据库操作
本节介绍了 MongoDB 中数据库的选择、创建与删除操作。使用 `use 数据库名称` 可选择或创建数据库,若数据库不存在则自动创建。通过 `show dbs` 或 `show databases` 查看所有可访问的数据库,用 `db` 命令查看当前数据库。注意,集合仅在插入数据后才会真正创建。数据库命名需遵循 UTF-8 格式,避免特殊字符,长度不超过 64 字节,且部分名称如 `admin`、`local` 和 `config` 为系统保留。删除数据库可通过 `db.dropDatabase()` 实现,主要用于移除已持久化的数据库。
463 0
|
NoSQL 监控 关系型数据库
【后端面经】【NoSQL】ElasticSearch - 1 -3 基本思路 限流
【6月更文挑战第17天】在面试中讨论Elasticsearch高可用性时,聚焦于分片机制和主从副本,确保数据冗余。Translog作为关键组件,用于数据安全,防止崩溃后丢失。为提升高可用性,实施了额外措施,如限流保护,通过Elasticsearch内置功能或自定义插件监控内存和CPU使用率,当超过阈值时动态限流,以应对突发流量,避免系统崩溃。
152 1
|
SQL NoSQL MongoDB
MongoDB 根据多个条件批量修改
MongoDB 根据多个条件批量修改
605 0
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 卷积模块 | 在主干网络中添加/替换蛇形卷积Dynamic Snake Convolution
本专栏介绍的DSCNet采用蛇形动态卷积,增强对管状结构特征提取,尤其适合血管等弯曲目标。动态卷积核自适应调整,灵感来自蛇形曲线,能灵活捕捉不同尺度细节。论文及官方代码链接已提供,适用于提升目标检测的准确性和鲁棒性。