【问题标题】:What does mongo's db.stats().ok means?mongo 的 db.stats().ok 是什么意思?
【发布时间】:2022-11-18 17:02:09
【问题描述】:

在 mongodb 的网站https://www.mongodb.com/docs/manual/reference/method/db.stats/ 上没有关于db.stats().ok 的含义的文档。

例如,我想检查与数据库的连接是否健康。我可以那样做吗db.stats().ok === 1。这对我的目的是否正确(看起来像,但没有文档很难说),还有更好的方法来检查健康的 mongo 连接吗?

【问题讨论】:

  • ok(命令响应的一部分)的文档是here
  • 好吧,谢谢,考虑到我不确定该解释是否对我正在尝试做的事情有用,但至少是有用的,这真是太古怪了。我仍然不知道,如果 ok 对于健康和不健康的 mongo 连接都可以等于 1。他们把那个参考文献放在哪里也让我大吃一惊。
  • “检查健康的 mongo 连接”是什么意思?如果您的连接失败,那么您的应用程序应该立即抛出错误。

标签: javascript database mongodb statistics nosql


【解决方案1】:

我建议db.getMongo()。命令 db.stats() 需要对当前数据库的读取权限,这可能会丢失。在这种情况下,db.stats() 会失败,尽管您的 MongoDB 运行良好。

db.getMongo()不需要任何权限,即使没有任何凭据也可以连接!

mongosh "mongodb://localhost:27017" --norc --quiet --eval 'db.getMongo()'
mongodb://localhost:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.6.0
echo $?
0

$ mongosh "mongodb://xxxx:27017" --norc --quiet --eval 'db.getMongo()'
MongoNetworkError: getaddrinfo ENOTFOUND xxxx
echo $?
1

【讨论】:

    猜你喜欢
    • 2020-08-21
    • 2012-06-21
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 2017-06-11
    相关资源
    最近更新 更多