MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
Mongodb的特点
- 高可扩展性
- 分布式存储
- 低成本
- 结构灵活
Mongodb的安装和环境搭建
- 下载安装包和压缩包
- 添加db存储和log文件夹
- 添加服务、配置环境变量、启动Mongodb
- 运行服务端:
命令行中输入mongod,开启服务,默认端口为27017 - 链接服务端:
这时候服务端已经启动了,我们用命令行来链接服务端。另起一个命令行中输入mongo
Mongodb 概念解析
SQL与Mongodb的概念对照图:
对比表
通过下图实例,我们也可以更直观的了解Mongo中的一些概念:
对比图
Mongodb基本用法
查看数据库版本
db.version()
查看全部数据库
show dbs
查看当前所在的数据库
db
显示当前数据库中的集合
show collections
查看当前数据库的用户信息
shou users
使用数据库(<db>
替换成一个数据库名)
use <db>
显示数据库操作命令
db.help()
显示集合操作命令(<collection>
替换成一个集合名)
db.<collection>.help()
Mongodb增删改查
插入文档(<collection>
替换成一个集合名)
db.<collection>.insert()
删除文档
db.<collection>.remove()
更新文档
db.<collection>.update()
查询文档
db.<collection>.find()
查询第一个文档
db.<collection>.findOne()
删除集合
db.<collection>.drop()
删除数据库
db.dropDatabase()
先定一个小目标:创建一个demo数据库
-
显示已有数据库:
show dbs
默认有admin
、config
、local
、log
这几个数据库,在新建库时不允许跟这些库重名 -
进入数据库:
use demo
进入(使用)数据库,当库不存在时会建立一个新的库 -
查看当前所在的数据库:
db
查看当前所在的数据库,确实是在demo
数据库中 -
插入文档:
db.user.insert({id:1,name:'张三',age:18})
插入一个文档,写入成功 -
再插入2个文档
-
查询所有文档:
db.user.find()
返回了刚才写入的3个文档,Mongodb
自动将_id
字段设置为主键 -
查询第一个文档:
db.user.findOne()
返回了第1个文档 -
更新文档:
db.user.update({id:1},{id:1,name:'张三丰',age:18})
第1个为查询条件,第2个为修改的值 -
再次查询:
db.user.find()
查询可知与刚才修改的一样,修改成功 -
删除文档:
db.user.remove({id:3})
删除一个文档,删除成功 -
再次查询:
db.user.find()
查询可知{id:3}
的文档被成功删除了 -
删除集合:
db.user.drop()
删除集合成功,返回true -
查看当前集合:
show collections
查看当前集合为空,故上一步删除集合成功 -
删除数据库:
db.dropDatabase()
删除数据库成功 -
显示当前数据库状态:
db.stats()
返回数据库状态,数据库为空
网友评论