mongodb写入安全级别
MongoDB的写安全机制
写入安全(Write Concern)是一种由客户端设置的,用于控制写入安全级别的机制,通过使用写入安全机制可以提高数据的可靠性。
MongoDB提供四种写入级别,分别是:
- (Unacknowledged)非确认式写入
- (Acknowledged)确认式写入
- (Journaled)日志写入
- (Replica Acknowledged)复制集确认式写入

1. 非确认式写入

2. 确认式写入

3. journal日志写入
64位机器上,MongoDB 2.0以上版本默认情况下是开启journal
journal文件位于journal目录中,只能以追加方式添加数据,文件名以j._开头
数据库正常关闭时(例如:db.shutdownServer()来关闭数据库),数据库服务会清空journal目录下的所有文件
MongoDB数据库每隔100ms或30ms向journal文件中flush一次数据
journal日志和data数据在一个磁盘上时每隔100ms刷新一次,不在一个磁盘上时30ms刷新一次,建议把journal日志和data数据放在不同的磁盘上,提高数据的可靠性

4. 复制集确认式写入

5.写入安全级别的使用

W选项
0:非确认式写入
1:确认式写入
说明:这个级别下,对副本级只对主库做确认写入
2:副本级确认式写入
说明:这个级别下,副本级第一个slave写入成功后就响应给client
majority:复制级更多slave写入成功后,在响应给client
示例代码
//连接数据库
dbService = connect("localhost:27017");
//选择插入集合
db = dbService.getSiblingDB("jike"); //创建bluk对象用于批量插入
db.write_concern.drop(); //测试数据
var doc1 = {
name:"xiaoli",
age:20,
address:
{
province:"GuangDong",
city:"ShenZhen"
}
} print("======writeConcern的使用 - 非确认式写入======")
var result = db.wirte_concern.insert(doc1,{writeConcern:{w:0}})
printjson(result) print("======writeConcern的使用 - 确认式写入======")
var result = db.wirte_concern.insert(doc1,{writeConcern:{w:1}})
printjson(result) print("======writeConcern的使用 - 确认式写入 + journaled + wtimeout======")
var result = db.wirte_concern.insert(doc1,{writeConcern:{w:1,j:true,wtimeout:5}})
printjson(result)
mongodb写入安全级别的更多相关文章
- .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 写入和查询)--学习笔记
2.5.3 MongoDB -- 写入和查询 写入 查询 查找操作符 逻辑操作符 其他 嵌套对象 数组 游标方法 写入 https://docs.mongodb.com/manual/tutorial ...
- mongodb写入策略(WriteConcern)
写入策略(WriteConcern) mongodb的写入策略有多种方式,写入策略是指当客户端发起写入请求后,数据库什么时候给应答,mongodb有三种处理策略:客户端发出去的时候,服务器收到请求的时 ...
- MongoDB Notes
MongoDB 启动一个 mongo 实例 $ docker run --name some-mongo -d daocloud.io/mongo 由于该镜像的 Dockerfile 中包含了 EXP ...
- Mongodb Manual阅读笔记:CH4 管理
4 管理 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mongodb Manual阅读笔 ...
- 十个 MongoDB 使用要点
转自: 十个 MongoDB 使用要点 从 mongodb 阶段性技术总结 中抽取并整理了对大家有帮助的十个要点: 1.mongodb 表名和字段名统一用小写字母 mongodb 是默认区分 ...
- centos7源码包安装Mongodb,并设置开机自启动
1.下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.12.tgz 2.解压 放到 /usr/local/ ...
- MongoDB之 写安全(Write Concern)
MongoDB Write Concern,简称MongoDB写入安全机制,是一种客户端设置,用于控制写入安全的级别.Write Concern 描述了MongoDB写入到mongod单实例,副本集, ...
- mongodb 慕课网
------------------------------------------------mongodb简述------------------------------------------- ...
- logstash-out-mongodb实现elasticsearch到Mongodb的数据同步
本文主要实现将Elasticsearch中的索引数据Index同步到Mongodb中的集合collection中. 0.前提 1)已经安装好源数据库:elasticsearch V2.X; 2)已经安 ...
随机推荐
- Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之列表类型(list)
Python中序列是最基本的数据结构.序列中的每个元素都分配一个数字(他的位置或者索引),第一个索引是0,第二个索引是1,依次类推.Python的列表数据类型类似于C语言中的数组,但是不同之处在于列表 ...
- jexus+.netcore+identityserver4 部署支持ssl(https)
硬件环境: 在阿里云购买了一个centos 7 64 位服务器 软件: jexus ,dotnet core sdk 第一步安装dotnet core sdk: 先安装dotnet core sdk ...
- Oscar的数理统计笔记本
目录 Random Variable discrete distribution: continuous distribution: 统计量 现代统计学时期: Survey sampling Rand ...
- Linux c 操作MySQL
#include <mysql/mysql.h>#include <stdio.h>#include <stdlib.h>int main() { MYSQL *c ...
- 【Java杂货铺】JVM#Java高墙之GC与内存分配策略
Java与C++之间有一堵由内存动态分配和垃圾回收技术所围成的"高墙",墙外的人想进去,墙外的人想出来.--<深入理解Java虚拟机> 前言 上一章看了高墙的一半,接下 ...
- php面向对象理解(一)
常用的继承过程,以及对public.private.protected修饰符的理解: /*****************************父类************************* ...
- Fiddler 之Filters
转自: https://blog.csdn.net/willcaty/article/details/70144287 Filters功能可以过滤捕获到的Sessions 入口在Fiddler工具的右 ...
- 四剑客(awk)
AWK AWK简介 虽然sed编辑器是非常方便自动修改文本文件的工具,但其也有自身的限制.通常你需要一个用来处理文件中的数据的更高级工具,它能提供一个类编程环境来修改和重新组织文件中的数据.这正是ga ...
- Python的lambda学习
lambda可以简化简单循环,如下: def fc1(x): return x + 10 print "fc1(23) = ", fc1(23) y = lambda x: x+1 ...
- LTE-U/LAA
将LTE扩展至非授权频谱,得益于一个稳健的无线电通信线路,具有更好协调性的同步节点,以及以授权频谱为基点的载波聚合,LTE-U/LAA能提供比载波Wi-Fi更佳的网络性能和更强的用户体验,为移动运营商 ...