运行 shell 方法通过 libmongoc?

Running shell methods via libmongoc?

我正在尝试弄清楚是否可以 运行 shell methods via libmongoc. I can run database commands by using the method mongoc_client_command。例如,我可以 运行 listDatabases 到 mongoc_client_command,但我不能 运行 db.adminCommand( { listDatabases: 1 } ).

  1. 是否可以通过 libmongoc 库 运行 shell 方法?
  2. 如果没有,是否有 api 替代 运行 shell 命令 Mongodb?

mongo shell 命令只是底层 database command API.

的便利包装器

如果您不带括号调用大多数 shell 帮助程序,您可以看到正在执行哪些命令 运行。例如,db.adminCommand 运行s 针对 admin 数据库的命令:

> db.adminCommand
function (obj, extra) {
    if (this._name == "admin")
        return this.runCommand(obj, extra);
    return this.getSiblingDB("admin").runCommand(obj, extra);
}

通过 libmongoc 界面,您可以将 admin 作为 db_name 参数传递给 运行 具有与 db.adminCommand() 等效结果的命令。