📅  最后修改于: 2023-12-03 14:44:22.533000             🧑  作者: Mango
在MongoDB中,我们可以使用JavaScript来获取数据库的状态信息,这些状态信息包括数据库的运行状态、连接状态等。在本文中,我们将介绍如何使用JavaScript来获取MongoDB的状态信息,以及如何将这些信息以JSON格式输出。
获取MongoDB的状态信息通常可以通过执行db.stats()命令来实现。该命令会返回一个JSON格式的对象,包含了关于当前数据库的各种状态信息。以下是获取数据库状态的示例代码:
var db = connect('localhost:27017/test');
var stats = db.stats();
printjson(stats);
输出结果将以JSON格式呈现:
{
"db" : "test",
"collections" : 0,
"views" : 0,
"objects" : 0,
"avgObjSize" : 0,
"dataSize" : 0,
"storageSize" : 8192,
"numExtents" : 0,
"indexes" : 0,
"indexSize" : 0,
"fileSize" : 67108864,
"nsSizeMB" : 16,
"ok" : 1
}
获取MongoDB的运行状态可以使用rs.status()命令,该命令会返回一个JSON格式的对象,包含了当前MongoDB的状态信息,如当前服务器实例的状态、复制集信息等。以下是获取MongoDB运行状态的示例代码:
var rsStatus = rs.status();
printjson(rsStatus);
输出结果将以JSON格式呈现:
{
"set" : "rs0",
"date" : ISODate("2018-07-20T13:30:10.456Z"),
"myState" : 1,
"term" : NumberLong(1),
"syncingTo" : "",
"syncSourceHost" : "",
"syncSourceId" : -1,
"heartbeatIntervalMillis" : NumberLong(2000),
"optimes" : {
"lastCommittedOpTime" : {
"ts" : Timestamp(1532110207, 1),
"t" : NumberLong(1)
},
"readConcernMajorityOpTime" : {
"ts" : Timestamp(1532110207, 1),
"t" : NumberLong(1)
},
"appliedOpTime" : {
"ts" : Timestamp(1532110207, 1),
"t" : NumberLong(1)
},
"durableOpTime" : {
"ts" : Timestamp(1532110207, 1),
"t" : NumberLong(1)
}
},
"members" : [
{
"_id" : 0,
"name" : "localhost:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 1339,
"optime" : {
"ts" : Timestamp(1532110207, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2018-07-20T13:30:07Z"),
"electionTime" : Timestamp(1532110172, 1),
"electionDate" : ISODate("2018-07-20T13:29:32Z"),
"configVersion" : 2,
"self" : true
}
],
"ok" : 1
}