2016-10-07 17 views
2

pongongoを使用してmongoレプリカに接続し、json dumpを使用してレプリカセットのステータスを表示しました。私はこの出力を解析し、特定のhost.Hereは私のJSONダンプ出力で選ぶことができるようにユーザーのためのリストや配列に「名前」と「stateStr」を表示させたい:replSetGetStatusからのプライマリおよびセカンダリホストの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" 
 
    } 
 
}

+0

あなたがしたいことを正確に知っています。 PythonでJSONを解析する方法を見つけることはあまり難しくありません。 – Tomalak

答えて

0

下記のJavascriptコードをお試しください。それは私のために働いた。

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); 
} 
+0

私はPythonを知らないのですが、このコードをJavascriptで書くことができます。このコードはPythonに変換して使用することができます。 –

関連する問題