MongoDB使用文档Word下载.docx

上传人:b****4 文档编号:17114865 上传时间:2022-11-28 格式:DOCX 页数:15 大小:565.95KB
下载 相关 举报
MongoDB使用文档Word下载.docx_第1页
第1页 / 共15页
MongoDB使用文档Word下载.docx_第2页
第2页 / 共15页
MongoDB使用文档Word下载.docx_第3页
第3页 / 共15页
MongoDB使用文档Word下载.docx_第4页
第4页 / 共15页
MongoDB使用文档Word下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

MongoDB使用文档Word下载.docx

《MongoDB使用文档Word下载.docx》由会员分享,可在线阅读,更多相关《MongoDB使用文档Word下载.docx(15页珍藏版)》请在冰豆网上搜索。

MongoDB使用文档Word下载.docx

;

再比如,查询所有女生,并且年龄20~24之间,且在北京:

1SELECT*FROMstep1WHERExingbie='

ANDnianling<

24ANDnianling>

=20ANDxianzaisuozaidi='

北京'

理由之三:

数据库不能自己玩儿,要给向PHP、.net、jsp等语言提供接口。

用php这些语言,能够向数据库之中增删改查。

老牌数据库,都是结构型数据库,现在出了什么问题?

比如,我们现在想往一个已经有1000条数据的数据库中增加一个字段“高中信息”。

之前已经存在的数据,实际上不需要增加这个字段。

因为这些用户已经填写完毕表单了,不需要再手机高中信息了。

我们的意图就是在今后注册的用户,需要填写高中信息。

但是,我们刚才说了,所谓的字段,是表的一个结构。

所有的行都必须拥有,不能有的行有这个字段,有的行没有这个字段。

可想而知,大数据时代,数据库中有100万条数据都算少的。

我们如果要动字段,时间太长。

所以,字段这个东西,太不灵活。

数据不灵活。

一个字段,需要是同样类型的数据。

不能一行记录是文本,一行记录是数字。

非结构型数据库NoSQL应运而生。

NoSQL是个怪胎,无法挑战老牌数据库,但是在大数据时代有自己的意义。

二、NoSQL

NoSQL(NoSQL=NotOnlySQL),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。

NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

非结构型数据库。

没有行、列的概念。

用JSON来存储数据。

集合就相当于“表”,文档就相当于“行”。

文档就是JSON,上下文语境中,也是JavaScript范畴,所以我们的数据库也是JS范畴的东西,JS全栈。

因此,我们总结NoSQL数据库在以下的这几种情况下比较适用:

1、数据模型比较简单;

2、需要灵活性更强的IT系统;

3、对数据库性能要求较高;

4、不需要高度的数据一致性;

5、对于给定key,比较容易映射复杂值的环境。

三、MongoDB介绍安装

 

MongoDB属于NoSql的一种,且是属于NoSql中的基于分布式文件存储的文档型数据库。

由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。

 

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

它支持的数据结构非常松散,是类似json的bson(是一种类json的一种二进制形式的存储格式,简称BinaryJSON)格式,因此可以存储比较复杂的数据类型。

Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

官网:

手册:

https:

//docs.mongodb.org/manual/

win7系统需要安装补丁,KB2731284。

此时,我们看一下装好的文件夹:

1.下一步下一步安装

2.C:

\ProgramFiles\MongoDB\Server\3.0\bin加入到系统的path环境变量中

那么我们就能在系统的任何盘符,使用mongo命令了:

4.新建一个文件夹不能有中文和空格

mongo使用数据库

mongod开启数据库服务mongod--dbpathC:

\mongodb

开机命令:

--dbpath就是选择数据库文档所在的文件夹。

也就是说,mongoDB中,真的有物理文件,对应一个个数据库。

U盘可以拷走。

一定要保持,开机这个CMD不能动了,不能关,不能ctrl+c。

一旦这个cmd有问题了,数据库就自动关闭了。

所以,应该再开一个cmd。

输入

那么,运行环境就是mongo语法了。

列出所有数据库:

1showdbs

使用某个数据库

1use数据库名字

如果想新建数据库,也是use。

use一个不存在的,就是新建。

查看当前所在数据库

1db

插入数据:

四、数据库使用

要管理数据库,必须先开机,开机使用mongod--dbpathc:

\mongo

管理数据库:

mongo(一定要在新的cmd中输入)

清屏:

cls

查看所有数据库列表

showdbs

使用数据库、创建数据库

usestudent

如果真的想把这个数据库创建成功,那么必须插入一个数据。

数据库中不能直接插入数据,只能往集合(collections)中插入数据。

不需要创建集合,只需要写点语法:

db.user.insert({“name”:

”xiaoming”});

db.user系统发现user是一个陌生的集合名字,所以就自动创建了集合。

显示当前的数据集合(mysql中叫表)

showcollections

删除数据库,删除当前所在的数据库

db.dropDatabase();

删除集合,删除指定的集合删除表

删除集合db.COLLECTION_NAME.drop()

4.1插入数据

插入数据,随着数据的插入,数据库创建成功了,集合也创建成功了。

1db.表名.insert({"

name"

:

"

zhangsan"

});

student集合名称(表)

4.2查找数据

1、查询所有记录

db.userInfo.find();

相当于:

select*fromuserInfo;

2、查询去掉后的当前聚集集合中的某列的重复数据

db.userInfo.distinct("

);

会过滤掉name中的相同数据

selectdistictnamefromuserInfo;

3、查询age=22的记录

db.userInfo.find({"

age"

22});

select*fromuserInfowhereage=22;

4、查询age>

22的记录

db.userInfo.find({age:

{$gt:

22}});

select*fromuserInfowhereage>

22;

5、查询age<

{$lt:

select*fromuserInfowhereage<

6、查询age>

=25的记录

{$gte:

25}});

=25;

7、查询age<

{$lte:

8、查询age>

=23并且age<

=26注意书写格式

23,$lte:

26}});

9、查询name中包含mongo的数据模糊查询用于搜索

db.userInfo.find({name:

/mongo/});

//相当于%%

select*fromuserInfowherenamelike‘%mongo%’;

10、查询name中以mongo开头的

/^mongo/});

select*fromuserInfowherenamelike‘mongo%’;

11、查询指定列name、age数据

db.userInfo.find({},{name:

1,age:

1});

selectname,agefromuserInfo;

当然name也可以用true或false,当用ture的情况下河name:

1效果一样,如果用false就是排除name,显示name以外的列信息。

12、查询指定列name、age数据,age>

25

25}},{name:

selectname,agefromuserInfowhereage>

25;

13、按照年龄排序1升序-1降序

升序:

db.userInfo.find().sort({age:

降序:

-1});

14、查询name=zhangsan,age=22的数据

'

zhangsan'

age:

select*fromuserInfowherename=‘zhangsan’andage=‘22’;

15、查询前5条数据

db.userInfo.find().limit(5);

selecttop5*fromuserInfo;

16、查询10条以后的数据

db.userInfo.find().skip(10);

select*fromuserInfowhereidnotin(

selecttop10*fromuserInfo

17、查询在5-10之间的数据

db.userInfo.find().limit(10).skip(5);

可用于分页,limit是pageSize,skip是第几页*pageSize

18、or与查询

db.userInfo.find({$or:

[{age:

22},{age:

25}]});

select*fromuserInfowhereage=22orage=25;

19、查询第一条数据

db.userInfo.findOne();

selecttop1*fromuserInfo;

db.userInfo.find().limit

(1);

20、查询某个结果集的记录条数统计数量

25}}).count();

selectcount(*)fromuserInfowhereage>

=20;

如果要返回限制之后的记录数量,要使用count(true)或者count(非0)

db.users.find().skip(10).limit(5).count(true);

21、按照某列进行排序

db.userInfo.find({sex:

{$exists:

true}}).count();

selectcount(sex)fromuserInfo;

4.3修改数据

修改里面还有查询条件。

你要该谁,要告诉mongo。

查找名字叫做小明的,把年龄更改为16岁:

1db.student.update({"

小明"

},{$set:

{"

16}});

查找数学成绩是70,把年龄更改为33岁:

score.shuxue"

70},{$set:

33}});

更改所有匹配项目:

Bydefault,theupdate()methodupdatesasingledocument.Toupdatemultipledocuments,usethemultioptionintheupdate()method.

sex"

男"

33}},{multi:

true});

完整替换,不出现$set关键字了:

注意

},{"

大明"

"

16});

db.users.update({name:

Lisi'

},{$inc:

{age:

50}},false,true);

updateuserssetage=age+50wherename=‘Lisi’;

50},$set:

{name:

hoho'

}},false,true);

updateuserssetage=age+50,name=‘hoho’wherename=‘Lisi’;

4.4删除数据

1db.collectionsNames.remove({"

borough"

"

Manhattan"

})

2

3db.users.remove({age:

132});

Bydefault,theremove()methodremovesalldocumentsthatmatchtheremovecondition.UsethejustOneoptiontolimittheremoveoperationtoonlyoneofthematchingdocuments.

1db.restaurants.remove({"

Queens"

},{justOne:

true})

1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1