在NoSQL数据库中,mongodb数据库被认为是未来新秀。mongodb主从模式中一般被设置成读写分离,即写操作在主节点,读操作在从节点。但是mongodb的主从模式是根据从节点定期到拉取主节点oplog文件中存储的写操作命令,那么问题就来了,如何保证每次在从节点读取到的数据都是最新的呢。
在查看MongoClient类时,发现在该类的构造方法中提供了MongoClientOptions参数,对该类进行分析发现,该类中有一个WriteConcern类,这个类中提供了w参数:
w为0:对写操作,不需要等服务端确认;
w为1:需要等待主节点确认,不需要从节点确认;
w>=2时:需要等待多个节点确认
通过这个参数的设置,可以读到最新数据。