我正在尝试实现一个MongoDB驱动程序(实际上我不是从头开始实现它,我正在改进一个现有的小型驱动程序,但这是不相关的)。向MongoDB发出命令似乎只是通过对$cmd集合的特殊查询来执行。在MongoDB词汇表中对此进行了如下描述:
$cmd 一个特殊的虚拟集合,公开MongoDB的数据库命令。若要使用数据库命令,请参见发出命令。
好吧。那我该怎么做?看看使用数据库命令怎么样?
许多驱动程序为
db.runCommand()方法提供了一个等价的工具。在内部,使用db.runCommand()运行命令相当于对$cmd集合的特殊查询。
嗯,好的。这没什么用。我在给司机写信,而不是用。
是否有文档说明如何实际实现runCommand功能?针对$cmd的查询应该如何工作?
发布于 2016-04-22 12:46:44
针对$cmd的查询应该如何工作?
数据库命令是对一个特殊集合$cmd的查询,其中查询选择器定义命令本身。因此,使用db.runCommand({isMaster: 1})运行命令的查询等价于:
db.$cmd.findOne({isMaster: 1})在我的机器中,它们都产生了以下结果:
{
"ismaster" : true,
"maxBsonObjectSize" : 16777216,
"maxMessageSizeBytes" : 48000000,
"maxWriteBatchSize" : 1000,
"localTime" : ISODate("2016-04-22T12:46:02.378Z"),
"maxWireVersion" : 4,
"minWireVersion" : 0,
"ok" : 1
}https://stackoverflow.com/questions/28642311
复制相似问题