简介
存储于硬盘,
基于分布式存储的开源数据库系统,分布式(存放在多个计算机节点上)
旨在为WEB应用提供可扩展的高性能数据存储解决方案
在非关系型数据库中最像MySQL的数据库
特点:
可扩展
文档类型格式类似于字典
{
name:'Fyn',
age:20,
address:{clty:'北金',county:'chna'}
}
MySQL一行就是一条数据
一个JSON就是一条数据,也就是Document文档
1、基础操作
进入MongoDB
>mongo
退出
>exit
2、库级操作语句
查看所有数据库
show dbs
查看当前数据库
db
新建数据库
use python37
删除当前数据库
db.dropDatabase()
3、集合操作语句
创建集合
db.createCollection('student')
查看当前数据库集合
show collections
删除数据
db.student.drop()
4、文档操作
数据操作
1、插入数据
db.数据库名.insert()
db.stu.insert({name:'bai',age:16})
插入多条数据
db.stu.insert([
{name:'Fyn',age:19},
{name:'Jkl',age:20},
{name:'Zxf',age:12},
{name:'Bgh',age:22},
]);
2、查询数据
会自动绑定id,id都是唯一的
db.stu.find()
自定义id
db.stu.insert({name:'Fyn',age:19,sex:'n','_id':2})
1、条件查询
db.stu.find({age:19})
格式化显示--数据比较多的情况下才会格式化
db.stu.find({age:21}).pretty()
指定条数查询
db.stud.find().limit(2)
2、多条件查询
db.stu.find({age:18,name:'Fyn'})
3、比较运算符
操作符 | 描述 |
---|---|
$ne | 不等于 |
$gt | 大于 |
$lt | 小于 |
$gte | 大于等于 |
$lte | 小于等于 |
--查询年龄大于等于18的
db.stu.find({age:{'$gte':18}})
3、逻辑运算符
$and条件
db.stu.find({$and:[{name:'Fyn'},{age:19}]})
$or条件
db.stu.find({$or:[{name:'Fyn'},{age:19}]})
$and和$or调用
db.stu.find({$or:[{$and:[{name:'Fyn'},{age:19}]},{$and:[{name:'Bgh'},{age:22}]}]})
4、修改数据
update修改的时候,修改的是同条件下的第一条数据
修改一条数据(会覆盖原来的所有数据)
db.stu.update({age:19},{age:12})
指定属性修改----$set
db.stu.update({age:19},{$set:{age:12}})
修改多条数据-->在后后面加--->multi:true
db.stu.update({age:12},{$set:{age:25}},{multi:true})
5、删除文档
-->默认输出所有数据
db.stu.remove({age:25})
指定删除
db.stu.remove({age:16},{justOne:true})
删除集合中所有的文档
db.stu.remove({})