简介
• MongoDB是为快速开发互联网Web应用而设计的数据库系统。
• MongoDB的设计目标是极简、灵活、作为Web应用栈的一部分。
• MongoDB的数据模型是面向文档的,所谓文档是一种类似于JSON的结构,MongoDB中的“JSON”我们称为BSON,比普通的JSON的功能要更加的强大。
• MongoDB数据库使用的是JavaScript进行操作的,在MongoDB含有一个对ES标准实现的引擎,在MongoDB中所有ES中的语法中都可以使用。
• MongoDB是一个NoSQL的数据库
• MongoDB是一款文档型数据库
关系型数据库(RDBMS):数据库->表->行->主键
非关系型数据库(NoSQL):数据库->集合->文档 ->Object ID(自动维护)
mongo _id的生成规则: 时间戳+机器码+PID+计数器
安装
下载地址:www.mongodb.org
安装完成后, 将MongoDB的bin目录添加到path下
默认端口:27107
基本使用
启动服务器(用来保存数据)
mongod --dbpath 路径 --port 端口号
启动客户端(客户端用来操作服务器,对数据进行增删改查的操作)
mongo
基本操作
use 数据库
- 进入指定的数据库
show databases(dbs)
- 显示所有的数据库
show collections
- 显示数据库中所有的集合
db
- 显示当前所在的数据库
CRUD的操作
向数据库中插入文档
db.collection.insert()
- 向集合中插入一个或多个文档
db.collection.insertOne()
- 向集合中插入一个文档
db.collection.insertMany()
- 向集合中插入多个文档
查询数据库中的文档
db.collection.find()
- 可以根据指定条件从集合中查询所有符合条件的文档
- 返回的是一个数组
db.collection.findOne()
- 查询第一个符合条件的文档
- 返回的是一个对象
db.collection.find().count()
- 查询符合条件的文档的数量
查询条件:$lt、$lte、$gt、$gte、$ne、$or、$in、$nin、$not、$exists、$and
修改数据库中的文档
db.collection.update()
- 可以修改、替换集合中的一个或多个文档
db.collection.updateOne()
- 修改集合中的一个文档
db.collection.updateMany()
- 修改集合中的多个文档
db.collection.replaceOne()
- 替换集合中的一个文档
修改
db.collection.update(
{k1,v1,k2,v2},
{
$set:{k2:v2,k3:v3}
},
{multi:true}
)
{multi:true}表示所有匹配内容都改
替换
db.collection.update(
{k1,v1},
{
k2:v2,
k3:v3
}
)
修改器:$set、 $unset 、$inc、$push、$addToSet
删除集合中的文档
db.collection.remove()
- 删除集合中的一个或多个文档(默认删除多个)
db.collection.deleteOne()
- 删除集合中的一个文档
db.collection.deleteMany()
- 删除集合中的多个文档
db.collection.remove({})
- 清空一个集合(效率低,直接删集合更快)
db.collection.drop()
- 删除一个集合
db.dropDatabase()
- 删除一个数据库(当前所在库)
扩展使用
查询文档时,默认情况是按照_id的值进行排列(升序) sort()可以用来指定文档的排序的规则,sort()需要传递一个对象来指定排序规则 1表示升序 -1表示降序
db.collection.find({}).sort({a:1,b:-1});
在查询时,可以在第二个参数的位置来设置查询结果的投影,也就是指定查哪些参数
db.collection.find({},{a:1 , b:0 , c:1});
将MongoDB设置为系统服务,可以自动在后台启动,不需要每次都手动启动
1.在D盘根目录创建data
- 在data下创建db和log文件夹
2.创建配置文件
在目录 D:\mongodb 下添加一个配置文件
mongod.cfg
3.以管理员的身份打开命令行窗口
4.执行如下的命令
sc.exe create MongoDB binPath= "\"mongod的bin目录\mongod.exe\" --service --config=\"mongo的安装目录\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"
5.启动mongodb服务
6.如果启动失败,证明上边的操作有误,
在控制台输入 sc delete MongoDB 删除之前配置的服务
然后从第一步再来一次