Mongodb

mongodb查詢或JS列印副本節點的健康狀態

  • July 19, 2021

如果我必須從 rs.status 輸出中獲得類似於 SQL 語句的東西來列印 mongoDB 中屬性的特定值 -

類似於來自 rs.status 的副本集的特定節點的列印執行狀況。

select health from rs.status where hostname like 'abc:123'

或使用以下方法列印特定輔助副本節點相對於主節點的滯後時間:

print lagtime from rs.printSlaveReplicationInfo() where hostname like 'abc:123'

針對副本集連接字元串執行的簡單查詢或 JS 是什麼?

單線將是這個:

mongo "mongodb://username:password@localhost:27018/admin?authSource=admin" --quiet --norc --eval "rs.status().members.filter( x => x.name == db.hello().me ).shift().health"

函式db.hello().me返回您目前連接的伺服器+埠。如果您想查詢此副本集中的其他伺服器,請替換此表達式。

引用自:https://dba.stackexchange.com/questions/295799