MongoDB 是一个基于分布式文件存储的NoSQL数据库(非关系性数据库) 由C++语言编写,运行稳定、性能高,因为此语言是按照面向集合存储,相当于一个文档目录,检索速度快,分布式的技术分散了服务器读写压力,提高了并发能力,提升了数据库的可拓展性
特点:
- 面向文档存储模式,操作比较容易
- 支持丰富的查询表达式,可以轻易查询文档中=内嵌的对象和数组
- 支持各种编程语言
- MongoDB安装简单
与Mysql比较:
- 与MySQL不同MongoDB不需要固定的表结构,采用数据库,集合,文档完成对数据的存储
- 非关系型数据库MongoDB的数据保存在文档内,采用Bson类型数据格式存储
- 每个数据库下有多个集合,每个集合有多个文档
MongoDB语句注意事项
- 区分大小写
- 不用 ; 结尾
- 语句可以写一行,也可以写多行
4.4、MongoD常用语法
启动MongoDB服务在MongoDB安装目录bin目录下面 进入cmd命令界面 输入 mongod --dbpath..\data\db
注意: 此data\db文件是存放数据的文件,在此之前需要将MongoDB添加到环境变量中
MongoDB
数据类型
Object ID:Documents自生成的_id(每个文档都有一个id标识)
string : 字符串
bollean: 布尔类型 true / false
Integer: 整数
Double : 浮点数(没有float类型,所有小数都是用的Double)
Arrays:数组或者列表,多个值储存到一个键
常用语法
增加
新建数据库
use 新数据库名
存在:切换数据库
不存在:创建新的数据库
新建集合
db . createCollection. ( ’ 集合名 ‘ )
添加文档
直接插入
db . 集合名 . insert ([{},{}...............])
单个添加
db . 集合名 . insertOne ({})
多个添加
db . 集合名 .insertMany([{},{},{}...])
Object 和 arrays
Object
db.集合名.insert(...{,wife:{"beijing":"双儿","shenzhen":"建宁公主","yunnan":"龙儿"}})
Arrays
db.集合名.insert(....{,house:["beijing","tianjin","mosike","wukelan"]})
删除
删除库
db . dropDatabase
删除集合
db . 集合名 .drop()
删除文档
全部删除
db . 集合名 . remove ({})
指定删除
db . 集合名 . remove({ 字段名:值 ,........ })
修改
修改器
$set
存在,编辑这个字段,不存在创建这个字段
$unset
删除指定字段
修改单条
修改多条
db . 集合名 . upadate( {相同的条件: 值 } ,{ 字段名: 值 } )
查询
比较运算符
大于
$gt
等于
小于
$lt
大于等于
$gte
小于等于
\(lte and 或 or and 就是 条件之间的 , or db . 集合名 . find(\)or : [ { 字段名:值 } , { 字段名 : 值 }] )
直接查询和条件查询
直接查
db . 集合名 . find ( )
条件查询
db . 集合名 . find ( { 字段名 : 值 } )
模糊查询
查询中间字符
db . 集合名 . find ( { name :'/字符名/' } )
查询首位字符
db . 集合名 . find ( { name :'/^字符名/' } )
排序查询
升序
db . 集合名 . sort ( { 字段名 : 1 } )
降序
db . 集合名 . sort ( { 字段名 :- 1 })
返回行数limit()
db . 集合名 . limit ( 值 )
最大值 和 最小值
使用排序和返回行数实现:db . 集合名 .srot ( { 字段名 : -1 } ) .limit (1)
保存save()
指定id : 覆盖之前的文档
不指定id : 创建新的文档
db . 集合名 . save ({_id:11,.........})
db . 集合名 . update( { 条件 :值 } , { 新值 } , { 配置文件multi :true } )