面试题答案
一键面试- 使用
rs.status()
命令:- 命令:在MongoDB shell中,连接到副本集的任意成员,输入
rs.status()
。 - 返回结果含义:
set
:副本集名称。date
:运行此命令的时间。myState
:本地成员的状态。值为1表示该成员是主节点(Primary);值为2表示该成员是从节点(Secondary);其他值表示不同的状态,例如7表示仲裁节点(Arbiter)等。members
数组:包含副本集中每个成员的详细信息。_id
:成员的唯一标识符。name
:成员的主机名和端口号。health
:成员的健康状态。值为1表示健康,值为0表示不健康。state
:成员状态码,和myState
类似,不同值代表不同状态。stateStr
:成员状态的字符串描述,例如“PRIMARY”“SECONDARY”“ARBITER”等。uptime
:成员已经运行的时间(秒)。optime
:成员的操作时间戳,反映成员与主节点数据的同步程度。lastHeartbeat
:该成员最后一次收到心跳的时间。lastHeartbeatRecv
:该成员最后一次接收心跳的时间。
- 命令:在MongoDB shell中,连接到副本集的任意成员,输入
- 使用
rs.isMaster()
命令:- 命令:在MongoDB shell中,连接到副本集的任意成员,输入
rs.isMaster()
。 - 返回结果含义:
ismaster
:如果为true
,表示当前连接的节点是主节点;如果为false
,则不是主节点。secondary
:如果为true
,表示当前连接的节点是从节点。me
:当前连接节点的标识。hosts
:副本集中所有成员的主机名和端口号数组。setName
:副本集名称。
- 命令:在MongoDB shell中,连接到副本集的任意成员,输入