我正在尝试确定是否可以通过libmongoc运行shell methods。我可以使用方法database commands运行mongoc_client_command。因此,例如,我可以通过mongoc_client_command运行listDatabases
,但不能运行db.adminCommand( { listDatabases: 1 } )
。
答案 0 :(得分:1)
mongo
shell命令只是底层database command API的便捷包装。
如果您调用大多数不带括号的Shell帮助程序,则可以看到正在运行的命令。例如,db.adminCommand
对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()
等效的命令。