MongoDB 表(集合) 创建删除和增删改查数据

创建一个集合(emp

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

在创建集合之前先使用use xxx,选择数据库,如果没有会创建(并不是真正的创建,只有在数据库里面保存集合数据之后才能够真正创建数据库

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第1张

当真正创建完集合之后,这个时候mydb数据库才会真正的存在

db.createCollection("emp")  //创建默认集合

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第2张

还可以创建指定参数的集合

db.createCollection("emp2", { capped : true, autoIndexId : true, size : 6142800, max : 10000 } )    //创建指定参数集合

capped:Boolean (可选)如果为true,则启用封顶集合。封顶集合是固定大小的集合,会自动覆盖最早的条目,当它达到其最大大小。如果指定true,则需要也指定尺寸参数。

autoIndexId:Boolean (可选)如果为true,_id字段自动创建索引,默认值是false,慎用false,因为会导致同步数据时负载很高,建议设置为true。

size number:(可选)指定最大大小字节封顶集合。如果封顶如果是 true,那么你还需要指定这个字段。

max number:(可选)指定封顶集合允许在文件的最大数量。

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第3张

但是很多时候如果按照以上的代码形式进行会觉得不正常,因为正常情况下使用MongoDB数据库集合操作的时候都是直接向里面保持一个数据,使用这种方式会自动创建集合

db.teacher.insert({"hetao":"php"})   //自动创建名为teacher的数据集,里面有一条键值对 

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第4张

查询所有集合

show collections

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第5张

查看表(集合)的数据

语法:db.集合名称.find({若干条件})

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第6张

从传统的数据表来看(集合就相当于表的结构),表的结构一旦定义就必须按照其定义的要求进行内容的编写,但是mongodb不一样,他可以自己随意扩充数据

dept表中增加不规则数据

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第7张此时dept集合的内容可以由用户随便去定义,完全不用考虑其他的结构,那么实际上就必须明确一定了,在MongoDB数据库里面是绝对不可能存在有查看集合结构的操作

关于id的问题

MongoDB集合中的每一行记录都会自动生成一个:"_id" : ObjectId("59527a095d2e7428aedd16e6"),数据的组成是:时间戳+机器码+进程的PID+计数器(这个ID信息是MongoDB数据库自己为用户生成的)

查看单独的一个文档信息

也就是查看集合里的第一条数据(不传参数默认是第一条,并且只有一条)

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第8张

根据id删除数据(删除一行)

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第9张

删除符合条件的第一个条数据

 

db.mycol.remove({'title':/MongoDB/},1)  //只删除符合条件的第1条记录 

 

 

全表清空

db.mycol.remove({})              //全表清空 

 

 

根据id更新数据

更新后的数据完全按照更新时的的数据结构

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第10张

删除集合

语法:db.集合名称.drop(),删除集合之后再查看这个集合的表的数据,不会报错,没有任何提示

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第11张

删除当前所在的数据库

这个命令表示删除当前所在的数据库,必须先切换到数据库后才可以删除

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第12张

增加数据操作语法

使用 db.集合名称.insert()   可以实现数据的增加操作,增加数据操作之前先使用数据库

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第13张

这时候并没有创建mldn的这个数据库,需要插入数据或者创建一个集之后,这个数据库才会被创建,然后我们新增一个简单的数据

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第14张

以数组形式增加多条数据

这种方式提示也是一下子增加多个数据的方式,如果想要保存多个数据,那么就使用数组的形式

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第15张

增加多个数据

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第16张

如果数据保存很多的情况下,列表是不会全部列出,只会列出部分的内容

 

 

 

复杂的数据查询

数据查询简介

MongoDB数据库中,对于查询的支持非常到位,包含有关系运算;逻辑运算;数组运算;正则运算等等

对于数据的查询操作核心的语法:db.集合名称.find({查询条件},[{设置显示的字段}]);

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第17张

增加查询条件(根据某个字段的值进行查询)

发现在进行数据查询的时候也是按照JOSN的形式设置的相等关系,它的整个开发过程中都不可能离开JSON数据

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第18张

设置显示字段

对于设置的显示字段严格来讲就称为数据的投影操作,如果不需要显示的字段设置为0而需要显示的字段设置为1

不设置的默认是显示,大部分的情况下,这种投影操作的意义不大,同时对于数据的查询也可以使用 pretty()函数

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第19张

pretty()函数查询

数据列多的时候,可以查询出来更好看的列表格式

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第20张

查询单个数据

不加查询条件,默认查询出来的是集合中的第一条数据

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第21张

数据查询(关系运算)

MongoDB中支持的关系查询操作:大于($gt);小于($lt);大于等于(>e);小于等于($lte;不等于($ne;等于(key:value

但是要想让这些操作可以正常使用,那么需要准备出一个数据集合,定义一个学生信息集合

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第22张

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第23张

等于(key:value):查询name为蜜蜜的那条数据

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第24张

查询sex为女的数据

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第25张

大于($gt):查询age大于21的数据

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第26张

小于($lt

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第27张

小于等于($lte

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第28张

不等于($ne):查询nmae不等于蜜蜜的数据

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第29张

数据查询(逻辑运算)

逻辑运算主要有三种类型:与($and);或($or);非($not/$nor

与($and):查询age1925之间的数据,可以使用关系运算的多条结合

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第30张

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第31张

或($or)查询age大于19或者score大于90的数据

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第32张

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第33张

数据查询(模运算)

模运算使用 $mod 来完成

数据查询(模运算)示例:表示结果是20,余数是0

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第34张

表示结果是20,余数是1

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第35张

数据查询(范围运算)

$in(在范围之中);$nin(不在范围之中)   查询name张三,蜜蜜,多多”的数据

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第36张

不在范围之中

MongoDB 表(集合) 创建删除、数据增删改查 随笔 第37张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄