通过libmongoc运行shell方法?

时间:2018-10-04 15:25:55

标签: mongodb libmongoc

我正在尝试确定是否可以通过libmongoc运行shell methods。我可以使用方法database commands运行mongoc_client_command。因此,例如,我可以通过mongoc_client_command运行listDatabases,但不能运行db.adminCommand( { listDatabases: 1 } )

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

1 个答案:

答案 0 :(得分:1)

mongo shell命令只是底层database command 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()等效的命令。