初识MongoDB(二)

 

本次章节学习一下MongoDB语法

一、MongoDB特点

它的存储模型与关系数据库的比较如图:

关系数据库(MySql) MongoDB
DataBase     DataBase
table     Collection
row     document/object

关系数据库中最基本单元是行,而MongoDB中最基本单元是document  

打开客户端

切换数据库,如果数据库不存在则创建数据库

在关系数据库中创建完数据库创建表,在MongoDB中是创建集合Collection,循环插入集合,提示成功。

下面介绍增、删、改、查

1、增

查看插入的集合:

这是集合也叫文档

查看数据库

不插入集合,只是用use demo 在这里面 是看不到demo数据库的 

2、删,删除id为5的文档

3、改,修改id为6的 name 为 "wei"

4、查。查询id为6 年龄为16的文档

  查询id为6的文档

查询年龄小于16的文档

$lt:表示小于

$lte:表示小于或等于

$get:表示大于

$gt::表示大于或者等于

上述可以组合使用 例如 age:{$lt:16,$get:12}表示年龄小于16 大于12的文档

$in:在某些范围内  例如 id:{$in:[1,2]} id为1和2的文档

$nin :不在某些范围内,该操作为全文档扫描,最好不要单独使用

$ne:不等于

$or:表示或运算

$and:表示与运算

MongoDB可以进行嵌套查询例如:插入文档

查询看结果,sort是排序 按照Id排序,1为 正序排序,如果是-1为倒序排序

查询 post 为 jl的记录,注意 detail.post 也有引号括起来

5、查询投射,所谓投射就是查询需要的字段。

前面括号中的为查询条件,后面的为查询字段,_id:0 0代表不显示

6、 数组查询

插入一数组

查询下结果

 

 数组查询 ①精确查询

 

②查询数组中一个值

③查询指定位置的值 第一个位置 为法语的记录 位置数是从0开始

创建一复杂的文档

其中字段 statusinfo是一个嵌套文档数据。

通过投影返回指定的字段

只返回desc

返回当前最新状态,通过专门针对数组投射的操作符 $slice 来完成

$slice  -1 数组最后一个元素 如果是1 是数组第一个元素

MongoDB不支持关系数据库中标准的查询语句,它有自己的一套查询语言。但是基本上能实现关系数据库中的查询。

查询选择器等同于 where,查询投影等同于select。MongoBD没有join连接,但是数据类型可以嵌套,可以组装成不同的结构模型。

 

posted @ 2018-07-03 15:08  冰冷的心  阅读(118)  评论(0编辑  收藏  举报