MongoDB(三):数据库操作、集合操作
1. 数据库操作
看完前面的文章,大家应该把环境搭建好了,下面我们就开始学习MongoDB的一些基本操作了。
首先我们要了解的一些要点:
MongoDB将数据存储为一个文档,数据结构由键值对(key=>value)组成
MongoDB文档类似于JSON对象,字段值可以包含其他文档、数组、文档数组
其次就是SQL术语和MongoDB术语的对比:
学过MySQL的同学就很好对比了,三个主要的:数据库、集合、文档
集合就是MySQL中的表
文档就是MySQL中的行
文档:就是一个对象,由键值对构成,是json的扩展Bson形式。
{'name':'guojing','gender':'男'}
集合:类似于MySQL中的表,储存多个文档,结构不固定,如可以储存如下文档在一个集合中。
{'name':'guojing','gender':'男'} {'name':'huangrong','age':'18'} {'book':'shuihuzhuan','heros':'108'}
数据库:是一个集合的物理容器,一个数据库中可以包含多个文档。
一个服务器通常有多个数据库。
1.1 创建数据库
MongoDB使用use DATABASE_NAME命令来创建数据库。如果指定的数据库DATABASE_NAME不存在,则该命令将创建一个新的数据库,否则返回现有的数据库。
语法:
use DATABASE_NAME
如果要创建一个名称为newdb的数据库,那么使用use DATABASE_NAME语句将如下所示:
> use newdb switched to db newdb
1.2 查看当前选择的数据库
输入db命令就可查询:
>db newdb
1.3 查看数据库列表
如果要检查数据库列表,请使用命令show dbs。
>show dbs local 0.000025GB test 0.00002GB
创建的数据库newdb不在列表中。要显示数据库,需要至少插入一个文档,空的数据库是不显示出来的。
>db.items.insert({"name":"yiibai tutorials"}) >show dbs local 0.00005GB test 0.00002GB newdb 0.00002GB
在 MongoDB 中默认数据库是:test
。 如果您还没有创建过任何数据库,则集合/文档将存储在test
数据库中。
1.4 删除数据库
MongoDB中的db.dropDatabase()命令用于删除现有的数据库。
db.dropDatabase()
这将删除当前所选数据库。 如果没有选择任何数据库,那么它将删除默认的test数据库。
删除例子:
首先,使用命令show dbs检查可用数据库的列表。
>show dbs local 0.00025GB newdb 0.0002GB test 0.00012GB >
如果要删除新数据库newdb
,那么dropDatabase()
命令将如下所示:
>use newdb switched to db newdb >db.dropDatabase() >{ "dropped" : "newdb", "ok" : 1 } >
现在检查数据库列表
>show dbs local 0.00025GB test 0.0002GB >
2. 集合操作
2.1 创建集合
MongoDB 的db.createCollection(name , options)方法用于在MongoDB 中创建集合。
语法:
db.createCollection(name, options)
在命令中,name是要创建的集合的名称。options是一个文档,用于指定集合的配置。
options参数是可选的,因此只需要指定集合的名称。 以下是可以使用的选项列表:
在插入文档时,MongoDB首先检查上限集合capped
字段的大小,然后检查max
字段。
例子:
没有使用选项的createCollection()方法的基本语法如下 :
>use test switched to db test >db.createCollection("mycollection") { "ok" : 1 } >
可以使用命令show collections检查创建的集合。
>show collections mycollection
以下示例显示了createCollection()方法的语法,其中几个重要选项
> db.createCollection("mycol", {capped : true, autoIndexId : true, size : 6142800, max : 10000 }) { "ok" : 1 } >
在MongoDB中,不需要创建集合。当插入一些文档时,MongoDB 会自动创建集合。
>db.newcollection.insert({"name" : "yiibaitutorials"}) >show collections mycol newcollection mycollection >
2.2 删除集合
MongoDB 的db.collection.drop()用于从数据库中删除集合。
语法:
db.COLLECTION_NAME.drop()
例子:
首先,检查数据库test中可用的集合。
>use test switched to db test > show collections mycol mycollection newcollection >
现在删除名称为mycollection的集合。
>db.mycollection.drop() true >
再次检查当前数据库的集合列表,如下:
> show collections mycol newcollection >
MongoDB(三):数据库操作、集合操作相关推荐
- python day2 python基础 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码...
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- Oracle(三)--数据库建表操作
一.数据库语言的四大分类 DQL Data Query Language,数据查询语言 如 select DML Data Manipulation Language,数据操作语言 如 insert ...
- MongoDB新建数据库、集合以及用户创建和权限设置
有段时间没用MongoDB了,最近因为业务需要开始使用MongoDB.这里就简单总结一下常用命令. 1.连接及查看所有数据库 mongo 主机ip:端口号/连接的数据库名 -u 用户名 -p 密码 / ...
- MongoDB基础--数据库和集合基本操作
本笔记针对https://www.shiyanlou.com/courses/running/50 网站对mongoDB的学习和总结. 1,启动mongoDB 因为mongoDB服务并 ...
- MongoDB 实战教程:数据库与集合的 CRUD 操作篇
你好,我是悦创. 公众号:AI悦创 简介 MongoDB 是非关系型数据库(NoSQL)的代表之一,它具有高灵活.可水平扩展.高可用等优秀特性,并且它提供了强大又丰富的查询语句使开发者能够随心所欲地操 ...
- MongoDB的基本概念与操作
本文来说下MongoDB的基本概念与操作 文章目录 什么是MongoDB 主要特点 基本概念 数据库操作 集合操作 文档操作 什么是MongoDB MongoDB 是由C++语言编写的,是一个基于分布 ...
- python中线程安全的数据结构_Scala(八)-①-数据结构-集合操作-线程安全的集合-操作符重载...
① 集合操作 Why 为什么需要集合操作?集合操作都包括哪些?Scala的集合操作主要为了适应大数据的发展,我们以Map为例.于事需入局,于程需入题,先看下题. 入题 请将list(3,5,7) 中的 ...
- 二、mongodb数据库系列——聚合操作 索引操作 权限管理
一.mongodb的聚合操作 学习目标 了解 mongodb的聚合原理 掌握 mongdb的管道命令 掌握 mongdb的表达式 1 mongodb的聚合是什么 聚合(aggregate)是基于数据处 ...
- 数据库应用----Mongodb 4.0 版本 基础操作---复制集,选举方法、部署认证 (二)
Mongodb 4.0 版本 基础操作-复制集,选举方法.部署认证 (二) 文章目录 Mongodb 4.0 版本 基础操作---复制集,选举方法.部署认证 (二) 一.MongoDB 复制集 二.部 ...
最新文章
- 图片管理之更新SKU表数据
- 获取邮箱通讯录,msn好友列表的C#源码
- APP专项测试关注点介绍
- 使用VLC和live555MediaServer搭建RTSP服务器
- 阿里云直播转点播最佳实践
- Magento教程 16:Magento价格规则的优先度
- jQuery实现 div里面的文字如何自动缩小,避免文字溢出
- ug快捷键命令大全_UG命令大全及快捷键的用法用处说明
- SpringCloud学习笔记019---Windows 平台安装 MongoDB
- Oracle分页查询格式(八)
- 记录一个表,COUNT多列的写法
- centos7安装便捷小工具命令
- regsvr32 命令小集注册OCX控件,注册控件
- 夜神模拟器+Burp抓包(简直是后端复现调试的福音)
- 教授专栏14 | 陈泰元: 提升公司治理之路--高管薪酬追回条款
- Untitled-0720记录一次机器学习完整项目
- OpenCV图像梯度——Scharr算子(cv2.Scharr())
- 随机排列与八卦太极的联系
- 往事如烟 - 老柏1
- Z-Wave 700 秘钥生成、固件签名、及OTA过程