“文档” 菜单
文档首页
/
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>
}
)

mongosh 中的 db.hello() 方法会提供有关 hello 的封装器。

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

以下 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

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

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

来年

replSetAbortPrimaryCatchUp