from pymongo import MongoClient
url = r'mongodb://username:password@xx.xxx.xx.xx:10001,xx.xxx.xx.xx:10002,xx.xxx.xx.xx:10003/dataset?replicaSet=rs1&readPreference=secondaryPreferred'
client = MongoClient(url)
db = client.dataset
collection = db.test
result = collection.find_one({"name": "lyz"})
字段 | 说明 |
---|
/dataset | 要连接的数据库 |
eplicaSet=rs1 | 指定副本集名称 |
readPreference=secondaryPreferred | 见下表 |
readPreference参数值说明 |
---|
primary:默认参数,只从主节点上进行读取操作。 |
primaryPreferred:大部分从主节点上读取数据,只有主节点不可用时从secondary节点读取数据。 |
secondary:只从secondary节点上进行读取操作,存在的问题是secondary节点的数据会比primary节点数据“旧”。 |
secondaryPreferred:优先从secondary节点进行读取操作,secondary节点不可用时从主节点读取数据。 |
nearest:不管是主节点、secondary节点,从网络延迟最低的节点上读取数据。 |