在做mongodb副本集遇到的问题

当遇到下面的问题时

WriteResult({ "writeError" : { "code" : undefined, "errmsg" : "not master" } })

其主要的原因是你所在的副本集服务器不是主服务器

首先输入指令

rs.status()

查看副本集的配置情况

例如下面的样子

{
	"set" : "rs0",
	"date" : ISODate("2014-09-28T08:38:21Z"),
	"myState" : 2,
	"syncingTo" : "10.0.0.52:27017",
	"members" : [
		{
			"_id" : 0,
			"name" : "10.0.0.51:27017",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",
			"uptime" : 16998,
			"optime" : Timestamp(1411893449, 3),
			"optimeDate" : ISODate("2014-09-28T08:37:29Z"),
			"self" : true
		},
		{
			"_id" : 1,
			"name" : "10.0.0.52:27017",
			"health" : 1,
			"state" : 1,
			"stateStr" : "PRIMARY",
			"uptime" : 16975,
			"optime" : Timestamp(1411893449, 3),
			"optimeDate" : ISODate("2014-09-28T08:37:29Z"),
			"lastHeartbeat" : ISODate("2014-09-28T08:38:21Z"),
			"lastHeartbeatRecv" : ISODate("2014-09-28T08:38:21Z"),
			"pingMs" : 0,
			"electionTime" : Timestamp(1411876531, 1),
			"electionDate" : ISODate("2014-09-28T03:55:31Z")
		},
		{
			"_id" : 2,
			"name" : "10.0.0.53:27017",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",
			"uptime" : 16973,
			"optime" : Timestamp(1411893449, 3),
			"optimeDate" : ISODate("2014-09-28T08:37:29Z"),
			"lastHeartbeat" : ISODate("2014-09-28T08:38:21Z"),
			"lastHeartbeatRecv" : ISODate("2014-09-28T08:38:20Z"),
			"pingMs" : 0,
			"syncingTo" : "10.0.0.51:27017"
		}
	],
	"ok" : 1
}

找到主库去进行操作就是可以解决这个问题

你可能感兴趣的:(mongodb,master,副本集,No)