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':''}
{'book':'shuihuzhuan','heros':''}
数据库:是一个集合的物理容器,一个数据库中可以包含多个文档。
一个服务器通常有多个数据库。
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基础之 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- mongodb安装,库操作,集合操作(表),文档操作(记录)
安装 1.下载地址 https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-4.0.8-signed.msi 2.如果报没 ...
- mongodb的数据库,集合,数据可介绍。
我们知道,在关系型数据库里面有数据库.数据表.表里面是一行一行的数据.而mongodb是非关系型数据库,它有的是数据库.集合.文档,分别对应关系型里面的数据库.数据表.和表里面一行一行的数据.在mon ...
- MongoDB创建数据库和集合命令db.createCollection详解(转)
切换/创建数据库 use yourDB; 当创建一个集合(table)的时候会自动创建当前数据库 完整的命令如下:db.createCollection(name, {capped: <Boo ...
- MongoDB 新建数据库和集合 查询集合
MongoDB语法是原生ORM,根本不存在sql语句 创建数据库:这里和一般的关系型数据库一样,都要先建立一个自己的数据库空间 新建数据库db1 > use db1 switched to db ...
- MongoDB 基本操作 数据库、集合
一.数据库创建与删除 查看当前所有的数据库 show das/show databases 查看当前数据库 db 创建数据库 use hopedb db.dropDatabase() 删除当前数据库 ...
- Mongodb中 数据库和集合的创建与删除
1.查询数据库,查询表: show dbs //查询所有的数据库show collections //查询所有的集合(表) 2.创建数据库或切换到数据库(存在就切换,不存在就创建) use spide ...
- Oracle 集合操作
在 Oracle 中提供了三种类型集合操作:并(UNION).交(INTERSECT).差(MINUS) · UNION:将多个查询的结果组合到一个查询结果之中,没有重复内容 · UNION ALL: ...
- MongoDB数据库、集合、文档的操作
MongoDB系列第一课:MongDB简介 MongoDB系列第二课:MongDB环境搭建 MongoDB系列第三课:MongDB用户管理 MongoDB系列第四课:MongoDB数据库.集合.文档的 ...
随机推荐
- Android实现图片一边的三角形边框
在每一个图片的某一侧都可以展示出一个三角形的边框视图,就是咱们的三角形标签视图.这个视图在电商类APP当中比较常用,使用过ebay的同学应该都还记得有些商品的左上角或者右上角都会显示一个三角形的边框, ...
- 为什么现在使用多周期CPU,而单周期CPU被弃用?
最初设计的CPU结构简单,内部不复杂.之所以制造它是为了让机器自动跑程序,算数. 早期CPU都是单周期的,人们没考虑那么多,性能啥的.就让CPU每个时钟周期跑一个指令,这些时钟周期等长.这样下来,有的 ...
- luogu P2899 [USACO08JAN]手机网络Cell Phone Network |贪心
include include include include include include define db double using namespace std; const int N=1e ...
- luogu P4981 父子
题目背景 上演在各大学男生寝室的日常 :: A :A: "我没带纸,快来厕所救我!" B :B: "叫爸爸." A :A: "爸爸!" .. ...
- 如何正确的使用Python解释器?你之前肯定用错了
作为python开发者,当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件.由于整个Python语言从 ...
- Socket无法通过防火墙的问题
无论是配好端口还是例外的应用程序都不行 更改本地终结点为 socket.Bind()); IPAddress.Any 不要使用127.0.0.1 不要使用127.0.0.1 不要使用127.0.0.1
- 【Webpack】320- Webpack4 入门手册(共 18 章)(下)
介绍 1. 背景 最近和部门老大,一起在研究团队[EFT - 前端新手村]的建设,目的在于:帮助新人快速了解和融入公司团队,帮助零基础新人学习和入门前端开发并且达到公司业务开发水平. 本文也是属于[E ...
- 你不知道的JavaScript(中)读书笔记(一)
第一章 1.内置类型 JavaScript有七种内置类型[除了对象以外,其他统称为“基本类型”]: 空值(null) 未定义(undefined) 布尔值(boolean) 数字(number) 字符 ...
- SQL- SQL插入与更新删除
一 前言 经过之前的 [SQL]-SQL介绍, [SQL]- SQL检索阶段一, [SQL]-sql检索阶段二 的三篇文章你已经学会的sql的相关概念和如何查询数据库,这篇文章主要后续对数据库表的进入 ...
- Wonder暂停开发,开始写书
公告 大家好,我们决定暂时停止开发Wonder,但会继续维护当前的Wonder版本(如继续维护官网.在线编辑器.QQ群等). 我们当前的主要任务是 写书:基于Wonder 1.0版本的开发经验,写一本 ...