如何在 mongodb 的 rs.status() 上使用 substr 仅获取主机名

How to use substr on rs.status() of mongodb to get hostname only

我想在 MongoDB 副本集中使用 rs.status() 检索所有不带端口号的主机名。 我尝试了下面的一个,但它没有提供所需的输出。

MongoDB Enterprise rsMDB001P:PRIMARY> print([{ $substr: ["$rs.status().members[0].name", 0, 13]}])

[object Object]

谁能纠正我的语法以获得所需的输出。

试试这个:

rs.status().members.forEach(function (m) { print(m.name.split(":").shift()) }) 

如果您还想跳过主机域,请使用

rs.status().members.forEach(function (m) { print(m.name.split(":").shift().split(".").shift()) })