Docs 菜单

Docs 主页开发应用程序MongoDB Manual

hello

在此页面上

  • 定义
  • 语法
  • 行为
  • 输出
hello

版本 5.0 中的新增功能

hello会返回一份描述mongod实例角色的文档。如果指定了可选字段saslSupportedMechs ,则该命令还会返回array of SASL mechanisms ,用于创建指定用户的档案。

如果该实例是副本集的成员,则hello会返回副本集配置和状态的子集,包括该实例是否为副本集的节点。

当发送到不是副本集成员的mongod实例时, hello会返回此信息的子集。

MongoDB驱动程序客户端使用hello来确定副本集成员的状态并发现副本集的其他成员。

该命令具有以下语法:

db.runCommand(
{
hello: 1
}
)

hello命令接受可选字段saslSupportedMechs: <db.user>以在其结果中返回附加字段hello.saslSupportedMechs ,并接受comment <any>以添加与命令关联的日志注释。

db.runCommand(
{
hello: 1,
saslSupportedMechs: "<db.username>",
comment: <any>
}
)

db.hello()中的 方法提供了mongosh hello的包装器。

从 MongoDB4 开始。2 ,如果发出 的客户端在操作完成之前断开连接,MongoDBhello 会使用hello killOp将 标记为终止。

以下hello字段对所有角色通用:

hello.isWritablePrimary

报告该节点何时可写入的布尔值。如果 true,则该实例是副本集中的主节点、或者是 mongos 实例、或者是独立运行的 mongod

如果该实例是副本集的从节点或者该节点是副本集的仲裁节点,则此字段将为 false

hello.topologyVersion

供 MongoDB 内部使用。

hello.maxBsonObjectSize

mongod 进程允许的 BSON 对象的最大大小(以字节为单位)。如果未提供,则客户端应假设最大大小为 "16 * 1024 * 1024"。

hello.maxMessageSizeBytes

BSON 传输协议消息的最大允许大小。默认值为 48000000 字节。

hello.maxWriteBatchSize

写入批处理中允许的最大写入操作数。 如果批处理超过此限制,客户端驱动程序会将该批次分成较小的群组,每个群组的计数小于或等于此字段的值。

此限制的值为 100,000 次写入。

hello.localTime

以 UTC 为单位返回本地服务器时间。该值为 ISO 日期

hello.logicalSessionTimeoutMinutes

会话在最近一次使用后保持活动状态的时间(以分钟为单位)。未从客户端收到新的读/写操作或未在此阈值内使用 refreshSessions 刷新的会话将从缓存中清除。与过期会话相关的状态可随时被服务器清理。

仅当featureCompatibilityVersion"3.6"时才可用。

hello.connectionId

mongod/mongos 实例与客户端的传出连接标识符。

hello.minWireVersion

mongodmongos 实例能够用来与客户端通信的传输协议的最早版本。

客户端可以使用minWireVersion来帮助协商与 MongoDB 的兼容性。

hello.maxWireVersion

mongodmongos 实例能够用来与客户端通信的传输协议的最新版本。

客户端可以使用maxWireVersion来帮助协商与 MongoDB 的兼容性。

hello.readOnly

布尔值,当为 true 时,表示 mongodmongos 以只读模式运行。

hello.compression

数组,列出用于或可用于压缩客户端与 mongodmongos 实例之间通信的压缩算法(即客户端与 mongodmongos 实例通用的算法)。

该字段仅在使用压缩时可用。例如:

  • 如果启用mongod以使用snappy,zlib压缩器,并且客户端指定了zlib ,则compression字段将包含:

    "compression": [ "zlib" ]
  • 如果启用mongod以使用snappy,zlib压缩器,并且客户端指定了zlib,snappy ,则compression字段将包含:

    "compression": [ "zlib", "snappy" ]
  • 如果启用mongod以使用snappy压缩器,并且客户端指定了zlib,snappy ,则compression字段将包含:

    "compression": [ "snappy" ]
  • 如果启用 mongod 来使用 snappy 压缩器,并且客户端指定了 zlib 或客户端未指定压缩器,则省略该字段。

也就是说,如果客户端未指定压缩,或者客户端指定了未为连接的 mongodmongos 实例启用的压缩算法,则不会返回该字段。

hello.saslSupportedMechs

用于创建用户的一个或多个档案的一组 SASL 机制。支持的 SASL 机制包括:

  • GSSAPI

  • SCRAM-SHA-256

  • SCRAM-SHA-1

仅当使用 saslSupportedMechs 字段运行命令时才会返回该字段:

db.runCommand( { hello: 1, saslSupportedMechs: "<db.username>" } )

mongos实例将以下字段添加到hello响应文档中:

hello.msg

hellomongos实例返回时,包含值isdbgrid

hello 在副本集节点返回时包含以下字段:

hello.hosts

格式为 "[hostname]:[port]" 的字符串数组,其中列出了副本集中所有既非隐藏消极也非仲裁节点的成员。

驱动程序使用此数组和hello.passives来确定要读取哪些成员。

hello.setName

当前副本集的名称。

hello.setVersion

当前副本集配置版本。

hello.secondary

一个布尔值,为 true 时,指示 mongod 是否为副本集从节点

hello.passives

格式为"[hostname]:[port]"的字符串数组,列出了副本集members[n].priority0的所有成员。

只有当至少有一名成员的 members[n].priority0 时,该字段才会出现。

驱动程序使用此数组和hello.hosts来确定要读取哪些成员。

hello.arbiters

"[hostname]:[port]" 格式的字符串数组,列出该副本集的所有仲裁节点

仅当副本集中至少有一个仲裁节点时才会显示该字段。

hello.primary

格式为 "[hostname]:[port]" 的字符串,列出副本集的当前节点。

hello.arbiterOnly

一个布尔值,为true时,表示当前实例是仲裁节点。仅当实例是仲裁节点时, arbiterOnly字段才会出现。

hello.passive

一个布尔值,为true时,表示当前实例为被动实例。 passive字段仅适用于members[n].priority0的节点。

hello.hidden

一个布尔值,为true时,表示当前实例处于隐藏状态。 hidden字段仅适用于隐藏节点。

hello.tags

一份 tags 文档包含用户定义的副本集节点标签字段和值对。

{ "<tag1>": "<string1>", "<tag2>": "<string2>",... }

有关更多信息,请参阅配置副本集标签集。

提示

另请参阅:

hello.me

[hostname]:[port]返回 的成员的hello

hello.electionId

每次选举的唯一标识符。仅包含在 主 节点 的hello 输出中。客户端用于确定何时进行选举。

hello.lastWrite

包含数据库最近一次写入操作的 ops/sec 和日期信息的文档。

hello.lastWrite.opTime

一个对象,给出上次写入操作的 ops/sec

hello.lastWrite.lastWriteDate

一个日期对象,包含上次写入操作的时间。

hello.lastWrite.majorityOpTime

对象,给出 majority 读可读取的最后一次写操作的 ops/sec

hello.lastWrite.majorityWriteDate

一个日期对象,包含可被 majority 读取的上次写入操作时间。

有关 ok 状态字段、operationTime 字段和 $clusterTime 字段的详细信息,请参阅“命令响应”。

← applyOps