对mongodb说hello会得到什么

程序员开始学习一门新的语言,编写的第一段程序往往是打印出"hello world!".

复制代码
print("Hello world!")
echo "Hello World!"

编程,从hello入门,打印出hello world,表示程序在开发人员手里向人类世界说出了第一句话,你好,世界。对程序来说,开发人员塑造了它全世界的样子。Hello world, 你好,我的全世界。

对mongodb说hello

复制代码
db.runCommand({
  hello:1
})

db.hello()

hello命令,返回当前mongodb实例的信息。包括当前实例的角色,复制集的配置和节点信息,数据库里配置信息和连接信息等。

复制代码
db.hello()
//返回结果
{
	"topologyVersion" : {
		"processId" : ObjectId("642b972dd6128edf1d22c73b"),
		"counter" : 7
	},
	"hosts" : [ "HOST1:27017", "HOST2:27017" ],
	"passives" : [ "HOST3:27017" ],
	"setName" : "replicasetname",
	"setVersion" : 3,
	"isWritablePrimary" : true,
	"secondary" : false,
	"primary" : "HOST1:27017",
	"me" : "HOST1:27017",
	"electionId" : ObjectId("7fffffff0000000000000013"),
	"lastWrite" : {
		"opTime" : {
			"ts" : Timestamp(1704349636, 1),
			"t" : 19
		},
		"lastWriteDate" : ISODate("2024-01-04T14:27:16.000+08:00"),
		"majorityOpTime" : {
			"ts" : Timestamp(1704349636, 1),
			"t" : 19
		},
		"majorityWriteDate" : ISODate("2024-01-04T14:27:16.000+08:00")
	},
	"maxBsonObjectSize" : 16777216,
	"maxMessageSizeBytes" : 48000000,
	"maxWriteBatchSize" : 100000,
	"localTime" : ISODate("2024-01-04T14:27:18.873+08:00"),
	"logicalSessionTimeoutMinutes" : 30,
	"connectionId" : 258342,
	"minWireVersion" : 0,
	"maxWireVersion" : 17,
	"readOnly" : false,
	"ok" : 1,
	"$clusterTime" : {
		"clusterTime" : Timestamp(1704349636, 1),
		"signature" : {
			"hash" : BinData(0,"zpCmFDjfQNQZ58m19+oVVLNPUos="),
			"keyId" : Long("7285155258693582849")
		}
	},
	"operationTime" : Timestamp(1704349636, 1)
}

字段意义

下面的表格中,列出来hello方法返回的每个字段的意义。

|------------------------------|----------------------------------------------------------------------------------------------------------------|
| 字段 | 意义 |
| isWritablePrimary | 布尔值,表示当前节点是否可写,复制集的主节点,分片节点,或单节点为true |
| maxBsonObjectSize | 数据库允许返回BSON文档大小,默认 |
| maxMessageSizeBytes | 数据库允许返回消息的最大字节数量,默认48000000字节 |
| maxWirteBatchSize | 每次批处理最大写入文档,默认10万条 |
| localTime | 当前服务器的UTC时间 |
| logicalSessionTimeoutMinutes | 数据库session过期时间 |
| connectionId | 当前节点与hello执行客户端之间数据库连接id |
| minWireVersion | 定义数据库与客户端连接支持最小版本号 |
| maxWireVersion | 定义数据库与客户端连接支持最大版本号 |
| readOnly | 布尔值,表示当前节点是否只读 |
| compression | 列出用来压缩数据的方法数组,如zlib, snabby等 |
| saslSupportedMechs | 返回数据库用来创建密码的方法数组 |
| msg | 从分片节点中获取的isdbgrid值 |
| hosts | 一个<hostname>:<port>格式的字符串,列出当前复制集中的节点。数据库驱动用passives和hosts节点来决定使用哪些节点读取数据 |
| setName | 当前复制集名称 |
| setVersion | 当前复制集配置版本号 |
| secondary | 布尔值,表示当前节点不是复制集的主节点 |
| passives | 一个<hostname>:<port>格式的字符串,列出当前复制集中不能成为主节点的节点。仅在priority为0的节点hello结果中返回。数据库驱动用passives和hosts节点来决定使用哪些节点读取数据 |
| arbiters | 一个<hostname>:<port>格式的字符串,列出当前仲裁节点 |
| primary | 一个<hostname>:<port>格式的字符串,列出当前主节点 |
| arbiterOnly | 布尔值,true表示当前节点是一个仲裁者。仅在仲裁节点hello结果中返回该字段 |
| passive | 布尔值,true表示当前节点的不可以成为主节点。仅在设置了priority值为0的节点中返回passive字段 |
| hidden | 布尔值,表示当前节点是否隐藏 |
| tags | 用户定义的复制集节点标签。 |
| me | 返回hello结果的节点 |
| electionId | 每一次主节点选举时用的唯一id。仅在主节点的hello结果中 |
| lastWrite | 数据库最近一次写入操作时间 |

相关推荐
Joy T24 分钟前
Redis Lua 原子限流:Lua 脚本、竞态条件与并发控制
数据库·redis·lua·限流·竞态条件·redis scripting
希和202737 分钟前
51 单片机入门笔记:江科大课程代码逐行讲解(按键控制 LED 流水灯)
笔记·单片机·mongodb
杨凯凡44 分钟前
MySQL 死锁怎么排查?InnoDB 锁等待与 Spring Boot 整事务重试实战
数据库·spring boot·mysql
Aloudata44 分钟前
Claude 做数据分析的这两年:一份复盘与发展线索
大数据·数据库·人工智能·数据挖掘·数据分析·dataagent
Decay__1 小时前
01_SQLServer 体系架构全解 —— 实例进程、关系引擎、SQLOS 与事务日志深入
运维·数据库·sql·mysql·架构
希和20271 小时前
51 单片机 LED 流水灯:从直接法到循环法(江科大课程笔记)
笔记·单片机·mongodb
zhanghaha13141 小时前
C# 系列教程_12 字符串 string 保姆级系统教程(面向新手,大量示例 + 原理讲解)
开发语言·数据库·c#
韩曙亮1 小时前
【错误记录】安卓 adb 调试 5037 端口占用排查 ( adb 的三层结构 | 找出本机占用 5037 的进程 )
android·数据库·adb·安卓·错误记录
瑞雪兆丰年兮2 小时前
JavaWeb-day07-MySQL(DQL&多表设计)
java·开发语言·数据库·sql·mysql·javaweb·web
lsc_blog7 小时前
年终自评别贴提交记录,把技术产出讲成变化
数据库·面试·职场和发展·跳槽·求职招聘