首页 > 解决方案 > 通过 libmongoc 运行 shell 方法?

问题描述

我试图弄清楚是否可以通过 libmongoc运行shell 方法。我可以使用mongoc_client_command方法运行数据库命令。例如,我可以通过 mongoc_client_command 运行,但不能运行.listDatabasesdb.adminCommand( { listDatabases: 1 } )

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

标签: mongodblibmongoc

解决方案


mongoshell 命令只是底层数据库命令 API的便捷包装器。

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

> 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().


推荐阅读