私はmongoが初めてで、pymongoを使用しています。pymongo のドキュメントがいたるところにあることがわかりました。
1) レップセットを持っています。mongo シェルから、以下を実行すると、必要なものが得られます。
sudo mongo 111.111.111.111 --eval "printjson(rs.status())"
MongoDB shell version: 2.2.1
connecting to: 111.111.111.111/test
{
"set" : "hey",
"date" : ISODate("2012-11-10T11:47:58Z"),
"myState" : 1,
"members" : [
{
"_id" : 0,
"name" : "111.111.111.111:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 69189,
"optime" : Timestamp(1352478921000, 1),
"optimeDate" : ISODate("2012-11-09T16:35:21Z"),
"self" : true
}
],
"ok" : 1
}
pymongo からその情報を取得する必要があります。
1) プライマリに接続します。私は取得しますnone
が、上記のノードはプライマリです:
c = ReplicaSetConnection("111.111.111.111:27017", replicaSet='heythat')
print c.primary
None
2) 実行したいのですc.command("status")
が、その操作はサポートされていません。
では、pymongo を使用してプライマリを返し、ステータスを Python 辞書として返すにはどうすればよいでしょうか?