gpt4 book ai didi

mongodb - 如何通过查询特殊的 $cmd 集合来运行 MongoDB 命令?

转载 作者:可可西里 更新时间:2023-11-01 09:06:28 25 4
gpt4 key购买 nike

我正在尝试实现一个 MongoDB 驱动程序(实际上我不是从头开始实现它,我正在改进现有的小驱动程序,但那是无关紧要的)。向 MongoDB 发出命令似乎只是通过对 $cmd 集合的特殊查询来执行。这在 MongoDB glossary 中有描述。如下:

$cmd

A special virtual collection that exposes MongoDB’s database commands. To use database commands, see Issue Commands.

好的。那我该怎么做呢?看一下怎么样Use Database Commands

Many drivers provide an equivalent for the db.runCommand() method. Internally, running commands with db.runCommand() is equivalent to a special query against the $cmd collection.

嗯,好的。那没有用。我正在编写一个驱动程序,而不是使用一个。

是否有关于如何实际实现 runCommand 功能的文档?针对 $cmd 的查询应该如何工作?

最佳答案

How are the queries against $cmd supposed to work?

数据库命令是对特殊集合$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
}

关于mongodb - 如何通过查询特殊的 $cmd 集合来运行 MongoDB 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28642311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com