【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()

相关推荐
Java 码农2 分钟前
MySQL索引添加与删除方法详解
数据库·mysql
正在走向自律8 分钟前
电科金仓KingbaseES数据库全面语法解析与应用实践
数据库·国产数据库·kingbasees·数据定义语言ddl·数据操作语言dml·kingbasees语法
web安全工具库18 分钟前
Linux进程的:深入理解子进程回收与僵尸进程
java·linux·数据库
麦聪聊数据25 分钟前
大数据与云原生数据库中的 SQL2API:优化跨平台数据访问与查询
数据库·sql·云原生
虚伪的空想家35 分钟前
记录次etcd故障,fatal error: bus error
服务器·数据库·k8s·etcd
笨手笨脚の1 小时前
Mysql 的锁机制
数据库·mysql··死锁·间隙锁
老友@1 小时前
一次由 PageHelper 分页污染引发的 Bug 排查实录
java·数据库·bug·mybatis·pagehelper·分页污染
hzk的学习笔记1 小时前
Redisson解锁失败,watchdog会不会一直续期下去?
数据库·redis·缓存
合作小小程序员小小店1 小时前
web网页开发,在线%商城,电商,商品购买%系统demo,基于vscode,apache,html,css,jquery,php,mysql数据库
开发语言·前端·数据库·mysql·html·php·电商
TDengine (老段)2 小时前
TDengine 字符串函数 CONCAT 用户手册
java·数据库·tdengine