write concern保证了mongodb写操作的级别,不同的write concern设置对应了不同级别的写操作,设置的级别越高,那么写操作的性能的持久化做得越好,但是写性能也就越差。mongodb默认采用 Acknowledged的write concern级别,这也是安全性最高的级别。
在 Acknowledged级别的副本集模式下,mongodb可在客户端设置一个wtimeout值,如果在规定的时间内无法完成这个写操作就返回一个错误,即使它最终可能能够完成。
Write Concern Levels
Unacknowledged
在Unacknowledged模式下,mongodb服务器不会去确认写操作是否真正收到了,类似于忽略了所以操作。然而,驱动器还是会尝试接收和处理来自网络的错误,这就取决于系统的网络配置了,下图是Unacknowledged级别的原理图。