BSONObj MemberConfig::toBSON(const ReplicaSetTagConfig& tagConfig) const { BSONObjBuilder configBuilder; configBuilder.append("_id", _id); configBuilder.append("host", _host.toString()); configBuilder.append("arbiterOnly", _arbiterOnly); configBuilder.append("buildIndexes", _buildIndexes); configBuilder.append("hidden", _hidden); configBuilder.append("priority", _priority); BSONObjBuilder tags(configBuilder.subobjStart("tags")); for (std::vector<ReplicaSetTag>::const_iterator tag = _tags.begin(); tag != _tags.end(); tag++) { std::string tagKey = tagConfig.getTagKey(*tag); if (tagKey[0] == '$') { // Filter out internal tags continue; } tags.append(tagKey, tagConfig.getTagValue(*tag)); } tags.done(); configBuilder.append("slaveDelay", durationCount<Seconds>(_slaveDelay)); configBuilder.append("votes", getNumVotes()); return configBuilder.obj(); }
BSONObj MemberConfig::toBSON(const ReplicaSetTagConfig& tagConfig) const { BSONObjBuilder configBuilder; configBuilder.append("_id", _id); configBuilder.append("host", _host.toString()); configBuilder.append("arbiterOnly", _arbiterOnly); configBuilder.append("buildIndexes", _buildIndexes); configBuilder.append("hidden", _hidden); configBuilder.append("priority", _priority); BSONObjBuilder tags(configBuilder.subobjStart("tags")); for (std::vector<ReplicaSetTag>::const_iterator tag = _tags.begin(); tag != _tags.end(); tag++) { tags.append(tagConfig.getTagKey(*tag), tagConfig.getTagValue(*tag)); } tags.done(); configBuilder.append("slaveDelay", _slaveDelay.total_seconds()); configBuilder.append("votes", getNumVotes()); return configBuilder.obj(); }