服务器采用Replica Sets搭建,可参考Deploy a Replica Setjavascript
Mongod的读模式共有五种:java
Tag sets 容许指定一个replica set进行读操做,其中Mongod的读模式必须是如下四种之一:primaryPreferred
、secondary
、secondaryPreferred
、nearest
Tags Sets配置参考:Configure Replica Set Tag Sets
主要操做以下:mongodb
conf = rs.conf() conf.members[0].tags = { "dc": "east", "use": "production" } conf.members[1].tags = { "dc": "east", "use": "reporting" } conf.members[2].tags = { "use": "production" } rs.reconfig(conf)
根据以上的配置,若是须要指定从members 1中进行数据库读操做,可采起如下代码:数据库
session, err := mgo.Dial("localhost") if err != nil { log.Fatalln(err) } defer session.Close() session.SetMode(mgo.Eventual, true) //须要指定为Eventual session.SelectServers(bson.D{{"dc", "east"}, {"use", "reporting"}}) // 指定从1中读取 db := session.DB("test") col := db.C("tbl") data := make([]interface{}, 10) col.Find(nil).Limit(10).All(&data) log.Println(data)