简体   繁体   English

从replSetGetStatus解析主要和辅助主机的json输出

[英]parse json output for primary and secondary hosts from replSetGetStatus

I've used pymongo to connect to mongo replica set and print the status of replica set using json dump. 我已经使用pymongo连接到mongo副本集并使用json dump打印副本集的状态。 I want to parse this output and display "name" and "stateStr" into a list or array for the user to be able to pick a particular host.Here is my json dump output: 我想解析此输出并将“ name”和“ stateStr”显示到列表或数组中,以使用户能够选择特定主机。这是我的json转储输出:

{ {

 { "replSetGetStatus": { "date": "2016-10-07T14:21:25", "members": [ { "_id": 0, "health": 1.0, "name": "xxxxxxxxxxx:27017", "optime": null, "optimeDate": "2016-10-07T13:50:11", "self": true, "state": 1, "stateStr": "PRIMARY", "uptime": 32521 }, { "_id": 1, "health": 1.0, "lastHeartbeat": "2016-10-07T14:21:24", "lastHeartbeatRecv": "2016-10-07T14:21:24", "name": "xxxxxxxxxxxx:27017", "optime": null, "optimeDate": "2016-10-07T13:50:11", "pingMs": 0, "state": 2, "stateStr": "SECONDARY", "syncingTo": "xxxxxxxxxxxx:27017", "uptime": 27297 }, { "_id": 2, "health": 1.0, "lastHeartbeat": "2016-10-07T14:21:24", "lastHeartbeatRecv": "2016-10-07T14:21:24", "name": "xxxxxxxxxxxxx:27020", "pingMs": 0, "state": 7, "stateStr": "ARBITER", "uptime": 32517 } ], "myState": 1, "ok": 1.0, "set": "replica1" } } 

Please try below Javascript code. 请尝试以下Javascript代码。 It worked for me. 它为我工作。

use admin;
var result = rs.status();
var length = result.members.length;
for (var i=0;i<length;i++){
        print ("Server Name-" +result.members[i].name);
        print ("Server State-" +result.members[i].stateStr);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM