在Golang中用mgo解析bson.M

时间:2018-07-09 16:29:05

标签: mongodb go mgo

我正在寻找使用mgo连接器从MongoDB诊断命令中解析特定值。我可以遍历bson.M {}响应,但是不确定如何在映射中实际提取特定的嵌套值并将其存储为值。这是我到目前为止的代码:

    //Connect to mongo shell
session, err := mgo.Dial("localhost")
if err != nil {
    panic(err)
}
defer session.Close()
session.SetMode(mgo.Monotonic, true)

//Get connPoolStats
connResult := bson.M{}
if err := session.DB("admin").Run("connPoolStats", &connResult); err != nil {
    panic(err)
} else {
    for key, value := range connResult {
        fmt.Println(key, value)
}

输出为:

totalRefreshing 0
hosts map[]
replicaSets map[]
numClientConnections 0
totalInUse 0
totalAvailable 0
totalCreated 0
numAScopedConnections 0
pools map[]
ok 1

我想提取numClientConnections,totalInUse,available等并将其存储在变量中,以及从pools map[]中的嵌套映射中提取值吗?我是否需要转换为json才能做到这一点?使用bson.M以外的其他东西?

0 个答案:

没有答案