下载安装
网址:https://www.mongodb.com/try/download/community
MongoDB分社区版(在所有环境下都免费)和 企业版(在开发环境免费,生产环境收费)两个版本
下载后一直下一步进行安装,安装完成后cmd进入安装bin目录,C:\Windows\System32\cmd.exe
输入mongo version 可查看版本号
配置环境变量
1.找到系统属性→环境变量
2.在系统变量中找到Path,点击编辑
3.在编辑环境变量界面中点击新建,输入bin目录的路径
4.找到mongoDB的启动目录,以我的电脑为例:C:\Windows\System32\cmd.exe
把路径复制到步骤3的Path中,重启电脑,现在可以在任何界面启动cmd,输入mongo version,显示版本号则配置成功
创建仓库
1.在电脑中找个目录,创建仓库,如:C:\data\db
执行mongod --dbpath "c:/data/db" --storageEngine=mmapv1 创建好仓库
只有第一次需要执行此操作
2.执行mongod 开启数据库
3.新打开一个cmd窗口,执行mongo命令,连接库
此时访问http://127.0.0.1:27017,出现It looks like you are trying to access MongoDB over HTTP on the native driver port,则连接成功
这里推荐使用ConEmuPack工具,可以开启多终端,方便管理
常用指令
增删改查
db.user.find(条件)
db.user.insert({"username":"jack"})
db.user.update({"username":"jack"},{"username":"lisi"})
db.user.remove({"username":"jack"})
库的操作
1.查看所有库 show dbs/show databases
2.创建并进入数据库 use test
3.删除数据据库 db.dropDataabase()
集合的操作
1.查看集合帮助 db.user.help()
2.查看集合 show collections
3.集合重命名 db.user.renaameCollection("goods")
4.查看表空间大小 db.user.dataaSize()
5.查看集合总数据量 db.user.count()
6.查看集合所在数据库 db.user.getDB()
7.删除集合 db.user.drop()
8.集合复制 db.user.copyTo("user1")
数据的操作
1.查找数据 db.users.find()
2.插入数据 db.user.insert({name:'jack',age:18,sex:1}
3.修改数据 db.user.updaate(更新条件,更新内容,可选参数)
multi:是否允许修改满足条件的多个记录,默认false(只更新一条记录),更新多条满足条件的记录true
db.user.update(criteris,objNew,upsert,multi)
想对这条数据的name值进行修改,如下图,执行db.user.update({name:"eve''},{name:'rose'})命令,会发现修改后,sex和age都没了
我们再修改一条数据,如下图,此时正确
4.$set:只修改某一个值,设置key为value
db.user.update({"name":"jane"},{$set:{"age":20}})
5.$inc:对一个数字值字段field增加walue
db.user.update({username:"jack",{$inc:{"age":10}}} 年龄增加10岁)
6.$sum:求和
db.user_name.aggregate([{$group:{_id:"$字段",统计结果保存键值(自定):{$sum:1}}}]):
7.$avg:计算平均值
db.user.aggregate([{$group:{_id:"$sex",avg:{$avg:"$age"}}}])
8.$min:获取集合中所有文档对应值的最小值
db.user.aggregate([{$group:{_id:"$sex",min:{$min:"$age"}}}])
9.$max:获取集合中所有文档对应值的最大值
db.user.aggregate([{$group:{_id:"$sex",max:{$max:"$age"}}}])
10.排序:1代表升序,-1代表降序
db.user.find().sort({ "key1" :-1 ,"key2" :1 })
11.分页:limit 查询多少条, skip(偏移量) 从第几个开始查
db.user.find().limit(10).skip(10)