mongodb

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言


一、mongodb与架构

什么时候考虑mongodb:

1.数据量预计达到10亿

2.高qps

二、mongodb的隔离级别

majority:大多数确认,就返回

snapshot:读取最近快照,一般用他替代linearizable,保证在分布式多线程情况下不出现脏读、幻读、不可重复读

linearizable:线性的执行,开启后会单线程的执行

三、writeConcern和readConcern

writeConcern:写到几个节点后才算成功,值有0、1-n、majority,一般设置majority

readConcern:available所有可用的数据、local所有可用且属于当前分片的数据、majority大多数节点已提交、linearizable线性化读取文档、sanpshot最近快照的数据。

四、命令

powershell 复制代码
# 查看所有数据库
show databases

# 选择数据库(如果数据库不存在,不会报错;会隐式创建:当后期该数据库有数据时自动创建)
use 数据库名

# 删除数据库(先选中数据库)
db.dropDatabase()


# 查看所有集合
show collections

# 创建集合(插入数据会隐式创建)
db.createCollection('集合名')

# 删除集合
db.集合名.drop()


db.集合名.insert(json数据)
db.集合名.remove(条件 [,是否删除一条])

# 是否删除一条
- false删除多条,即全部删除(默认)
- true删除一条
db.集合名.update(条件, 新数据 [,是否新增, 是否修改多条])

# 新数据
- 默认是对原数据进行替换
- 若要进行修改,格式为 {修改器:{key:value}}

# 是否新增
- 条件匹配不到数据时是否插入: true插入,false不插入(默认)

# 是否修改多条
- 条件匹配成功的数据是否都修改: true都修改,false只修改一条(默认)

db.集合名.find(条件 [,查询的列])
db.集合名.find(条件 [,查询的列]).pretty()	#格式化查看

# 条件
- 查询所有数据	{}或不写
- 查询指定要求数据	{key:value}或{key:{运算符:value}}

# 查询的列(可选参数)
- 不写则查询全部列
- {key:1}	只显示key列
- {key:0}	除了key列都显示
- 注意:_id列都会存在

五、索引

powershell 复制代码
# 创建索引
db.集合名.createIndex(待创建索引的列:方式 [,额外选项])
# 创建复合索引
db.集合名.createIndex({key1:方式,key2:方式} [,额外选项])

# 参数说明:
- `待创建索引的列:方式`:{key:1}/{key:-1}
   1表示升序,-1表示降序; 例如{age:1}表示创建age索引并按照升序方法排列
- `额外选项`:设置索引的名称或者唯一索引等
   设置名称:{name:索引名}
   唯一索引:{unique:列名}

总结

感觉不是很重要的一个数据库

相关推荐
2301_76415056几秒前
C#怎么判断进程是否在运行_C#如何管理系统进程【必备】
jvm·数据库·python
justjinji5 分钟前
Django DRF权限怎么加_IsAuthenticated与自定义BasePermission
jvm·数据库·python
橘子编程6 分钟前
PostgreSQL全栈指南:从入门到精通
数据库·postgresql
a9511416426 分钟前
解决 Bookmarklet 中 %0A 换行符导致的跨环境执行失败问题
jvm·数据库·python
解救女汉子8 分钟前
MySQL存储过程运行出错怎么排查_使用DECLARE HANDLER捕获错误
jvm·数据库·python
Absurd58711 分钟前
SQL嵌套查询在多租户系统应用_数据隔离逻辑
jvm·数据库·python
2301_7826591812 分钟前
怎样使用Navicat高级特权进行还原时解决字符集冲突_企业数据保护
jvm·数据库·python
椰猫子14 分钟前
数据库(约束、数据库设计(多表关系)、多表查询、事务)
数据库
m0_6403093016 分钟前
mysql如何处理连接数过多导致响应慢_mysql连接数调优
jvm·数据库·python
weixin_4585801217 分钟前
PHP怎么实现Toran Proxy代理_PHP依赖包缓存加速【技巧】
jvm·数据库·python