MongoDB的文档将$cmd定义为:
一个特殊的虚拟集合,公开MongoDB的数据库命令。若要使用数据库命令,请参见发出命令。
在发出命令部分:
使用
db.runCommand()运行命令相当于对$cmd集合的特殊查询。
但是,当我针对$cmd集合发出这个查询时:
db.$cmd.find({isMaster: 1})我得到了以下错误:
{ "ok“:0,"errmsg”:“$cmd类型ns -的坏$cmd (0)只能是1或-1",”代码“:16979 }
总之,$cmd的收藏是什么?我如何正确地针对它发出查询呢?
发布于 2016-04-22 12:29:16
在对mongo进行了一些深入研究和实验之后,我发现使用findOne方法实际上可以成功地对$cmd集合运行一个查询。所以:
如何正确地针对它发出查询?
使用findOne发出查询
db.$cmd.findOne({isMaster: 1})将得到与db.runCommand({isMaster: 1})相同的结果,如下所示:
{
"ismaster" : true,
"maxBsonObjectSize" : 16777216,
"maxMessageSizeBytes" : 48000000,
"maxWriteBatchSize" : 1000,
"localTime" : ISODate("2016-04-22T12:26:21.350Z"),
"maxWireVersion" : 4,
"minWireVersion" : 0,
"ok" : 1
}https://stackoverflow.com/questions/36793079
复制相似问题