【MongoDB 基本语法】数据库和集合的基本操作--探秘 MongoDB

摘要

MongoDB 是一款 ​NoSQL 文档型数据库。适合处理大量非结构化和半结构化数据。

对数据库和集合的基本操作如下:

操作类别 操作命令 功能说明
创建数据库 use database_name 切换到指定数据库,不存在则自动创建
创建集合 db.createCollection("name") 显式创建集合
查看数据库 show dbs 显示所有非空数据库
db 显示当前使用的数据库
删除数据库 db.dropDatabase() 删除当前数据库(需谨慎)
创建 capped 集合 db.createCollection("name", {capped: true, max: 10000}) 创建固定大小集合
隐式创建集合 db.collection.insert(document) 插入文档时自动创建集合
查看集合 show collectionsshow tables 显示当前数据库的所有集合
删除集合 db.collection.drop() 删除指定集合

1 数据库的基础操作

1.1 查看数据库

启动MondoDB数据库服务,进入到MondoDB客户端时,默认进入初始数据库即,test数据库。

查看所有数据库show dbs

查看当前数据库db

1.2 创建和切换数据库

创建和切换数据的命令是一样的--use database_name

也就说,如果切换到一个没有创建的数据库,会自动创建该数据库。

1.3 删除数据库

删除数据库需要先切换(use)到该数据中,然后使用命令:db.dropDatabase()

该命令的使用相当于调用类的方法,以此类比,MondoDB的操作都类似调用方法。

2 集合的基础操作

MongoDB的集合类似于MySQL的表。当要对集合操作时,需要先切换到该集合对应的数据库。

2.1 查看

先进入到对应的数据库,然后才可以查看集合。

命令:show collections

或命令:show tables

对数据库和集合的基本操作中,查看都使用了相同的show

2.2 集合的创建

2.2.1 创建可持续增长的集合

创建可持续增长的集合:db.createCollection("c1")

注:MongoDB本身对单个文档(类似插入的一行数据)的大小有16MB的限制。有的系统会对集合的内存有上限。

2.2.2 创建capped集合

capped集合是固定大小的集合,当达到大小或文档数量限制时,会自动覆盖最旧的文档。size参数以字节为单位,需同时指定。

命令:db.createCollection("c_name",{capped: trrue, size: *, max: * })

创建一个固定大小集合(capped: true),限制条件为:

size: 6142800:集合最大存储空间(字节)

max: 10000:集合最多存储的文档数量(当达到任一限制时,旧文档会被新文档覆盖)

2.2.3 隐式创建集合

通过插入文档自动创建集合。

命令:db.c_name.insert({......})

返回结果 WriteResult({ "nInserted" : 1 }) 可以看出,写入成功了。其中 nInserted: 1 表示成功插入了 1 条文档。

2.3 集合的删除

可以发现集合的插入需要显示出哪一个集合,类似,集合的删除也需要显示到哪一个集合。

命令:db.c_name.drop()

相关推荐
恋红尘3 小时前
Redis面试八股
数据库·redis·面试
直有两条腿4 小时前
【数据迁移】HBase Bulkload批量加载原理
大数据·数据库·hbase
言之。5 小时前
ClickHouse 数据更新策略深度解析:突变操作与最佳实践
服务器·数据库·clickhouse
白衣鸽子6 小时前
数据库高可用设计的灵魂抉择:CAP权衡
数据库·后端
DokiDoki之父7 小时前
Mybatis—入门 & (配置)SQL提示和日志输出
数据库·sql·mybatis
TDengine (老段)8 小时前
TDengine 数据函数 LN 用户手册
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
机灵猫8 小时前
Redis 在订单系统中的实战应用:防重、限流与库存扣减
数据库·redis·缓存
木易2.08 小时前
从零构建RAG知识库管理系统(二)
数据库·oracle
程序新视界8 小时前
什么是MySQL JOIN查询的驱动表和被驱动表?
数据库·后端·mysql