按照提示步骤安装即可。安装完成后,软件会安装在C:\\Program Files\\MongoDB 目录中。
我们要启动的服务程序就是C:\\Program Files\\MongoDB\\Server\\3.2\\bin目录下的mongod.exe,为了方便我们每次启动,我将C:\\Program Files\\MongoDB\\Server\\3.2\\bin 设置到环境变量path中。
2.2启动服务
(1)首先打开命令提示符,创建一个用于存放数据的目录
(2)启动服务
dbpath参数用于指定数据存储目录
启动后效果如下:
我们在启动信息中可以看到,mongoDB的默认端口是27017
如果我们不想按照默认端口启动,可以通过--port 命令来修改端口
2.3登陆系统
我们另外打开命令提示符窗口,如果mongoDB是按默认的端口启动的,并且是部署在本机的。输入命令 mongo 即可登陆系统
从界面输出的信息我们可以得知,它默认连接的是test数据库
如果是要连接远程的mongoDB服务器 ,就输入命令 mongo 远程IP地址
如果远程的mongoDB服务端口不是默认的,需要输入命令 mongo 远程IP地址:端口
输入exit命令可退回到命令提示符
3.基本增删改查操作
3.1选择或创建数据库
使用use 数据库名称即可选择数据库,如果该数据库不存在会自动创建
3.2插入文档
文档相当于关系数据库中的记录
首先我们定义一个文档变量,格式为变量名称={}; 例如:
接下来就是将这个变量存入MongoDB 格式为:
db.集合名称.save(变量); 这里的集合就相当于关系数据库中的表。例如:
这样就在student集合中存入文档。如果这个student集合不存在,就会自动创建。 当然,你也可以不用定义变量,直接把变量值放入save方法中也是可以地。
为了方便后期测试,我们再多加点数据 db.student.save({name:\沙和尚\男\流沙河路11号\db.student.save({name:\唐僧\男\东土大唐\db.student.save({name:\白骨精\女\白骨洞\db.student.save({name:\白龙马\男\西海\db.student.save({name:\哪吒\男\莲花湾小区\3.3查询集合
我们要查询某集合的所有文档,使用find()方法。语法格式为: db.集合名称.find(); 例如,我们要查询student集合中的所有文档:
这里你会发现每条文档会有一个叫_id的字段,这个相当于我们原来关系数据库中表的主键,当你在插入文档记录时没有指定该字段,MongDB会自动创建,其类型是ObjectID类型。
如果我们在插入文档记录时指定该字段也可以,其类型可以使ObjectID类型,也可以是MongoDB支持的任意类型. 例如:
我们再次查询
如果我想按一定条件来查询,比如我想查询性别为“女”的记录,怎么办?很简单! 只要在find()中添加参数即可,参数也是json格式,如下:
为了避免游标可能带来的开销,MongoDB还提供了一个叫findOne()的方法,用来返回结果集的第一条记录。
性别为男的有很多条,这里只返回了第一条记录。
当我们需要返回查询结果的前几条记录时,可以使用limit方法,例如:
3.4修改文档
我们要想修改记录,可以使用update方法 .
例如:我向将姓名为孙悟空的学员文档中的age字段值改为31,执行下列语句,看会发生什么?
再次查询:
哦,悲剧了~~ 原来的孙悟空的文档只剩下_id 和age两个字段了。 那如何保留其它字段值呢?
我们需要使用MongoDB提供的修改器$set 来实现,请看下列代码。
再次查询,会发现“猪八戒”文档中原有的其它字段还保留下来,而更新age字段也成功了。
3.5删除文档
删除文档使用remove()方法,格式为: db.集合名称.remove( 条件 ); 请慎用remove({}), 它会一条不剩地把你的集合所有文档删的干干净净。 我们现在演示一下,删除name为“哪吒”的记录:
再次查询,会发现哪吒的文档不见了。
4.高级查询
4.1模糊查询
MongoDB的模糊查询是通过正则表达式的方式实现的。格式为: /模糊查询字符串/
例如,我要查询student集合中address字段中含有“洞”的所有文档,代码如下: