学习mongoDB
本文学习内容来自b站的黑马程序员!链接如下:
MongoDB简介
MongoDB是一个开源、高性能、无模式的文档型数据库
SQL术语 | MongoDB术语 | 解释说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | field | 数据字段/域 |
index | index | 索引 |
业务应用场景
High performance:对数据库高并发读写需求;
Huge Storage:对海量数据的高效率存储和访问需求;
High Scalability&High Availability:对数据库的高扩展性和高可用性。
MongoDB可应对“三高”需求
具体的应用场景如:
1.社交场景:存储用户信息以及朋友圈信息,通过地理位置索引实现附近的人、地点等功能;
2.游戏场景:存储用户信息、装备、积分等直接以内嵌文档的形式存储,方便查询、高效率存储和访问;
3.物流场景:存储订单信息,订单状态运送过程中不断更新,以内嵌数组形式存储;
4.物联网场景:存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析;
5.视频直播:存储用户信息、点赞互动信息、评论留言等。
这些应用场景的共同特点有: 1.数据量大;2.读写频繁;3.价值较低,对事务性要求不高。
MongoDB的下载和安装
上面的链接附带多个环境的下载地址和操作文档!
启动
mongod --dbpath=..\data\db 在bin目录中打开命令提示符操作
连接
mongo --host=localhost --port=27017
选择和创建数据库
use 数据库名称
查看数据库
show dbs
数据库删除
db.dropDatabase()
集合创建和删除
集合显式创建
db.createCollection(name) ps:name为集合名
集合删除
db.集合.drop
文档基本CRUD(collection为集合名)
db.collection.insert() 单个文档插入
db.collection.insertMany() 批量文档插入
db.collection.find() 查询
db.collection.findOne() 查询第一条数据
db.collection.update(query,update,options) 修改
db.collection.remove({query}) 删除
db.collection.remove({}) 删库跑路rm -rf /
1.覆盖修改
db.collection.update({query条件},{update内容})
2.局部修改
db.collection.update({query条件},{$set:{update内容}})
3.批量修改
db.collection.update({query条件},{$set:{update内容},{multi:true}})
4.列值增长的修改
db.collection.update({query条件},{$inc:{update内容}})
文档的分页查询
db.collection.count({query}) 统计记录数
db.collection.find().limit(num) 分页列表查询
db.collection.find().skip(num) 跳过num条数据查询
db.collection.find().skip(num).limit(num)
db.collection.find().sort({query:1/-1}}) 排序查询 1为升,-1为降
文档的更多查询
1.正则的复杂条件查询
db.collection.find({query:/关键字/}) 查询包含关键字
db.collection.find({query:/^关键字/}) 查询以关键字开头
2.比较查询
db.collection.find({“field”:{$gt:value}}) 大于:field > value
$gt大于、$lt小于、$gte大于等于、$lte小于等于、$ne不等于
3.包含查询
db.collection.find({query:{$nin:["关键字"]}}) 不包含
4.连接查询
db.collection.find($and:[{},{}]) 并且
db.collection.find($or:[{},{}]) 或
原文地址:https://www.cnblogs.com/kenven/p/15096588.html
- 精妙JS代码段搜集
- Backbone事件模块及其用法
- IOS 8 Safari JIT bug影响jQuery和underscore
- linux服务器开发三(网络编程) --二
- JavaScript字符串间的比较
- Html<a>标签href的困惑记载
- SublimeText下写作利器之MarkdownEditing
- Go 语言的基本数据类型
- c语言客户端与go语言服务端通信(网络字节序)
- (译)Go 语言的内存、指针详解
- Redis之并发写入
- Python超过R,成为数据科学和机器学习的最常用语言
- JavaScript 之 this 详解
- Golang 中 for-loop 和 goroutine 的问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法