MongoDB学习
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({ 字段名:值 ,........ })
修改
修改器
unset
删除指定字段
修改单条
修改多条
db . 集合名 . upadate( {相同的条件: 值 } ,{ 字段名: 值 } )
查询
比较运算符
大于
lt
大于等于
$gte
小于等于
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 } )
本文作者:枯树老鸭
本文链接:https://www.cnblogs.com/kushulaoya/p/16075669.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
2021-03-30 MySQL--基础回顾 (四) 约束和表与表之间的关系
2021-03-30 MySQL--基础回顾 (一) 基本概念、数据库备份和还原、数据库设计
2021-03-30 MySQL--基础回顾 (三) DQL详解