Запускать методы оболочки через libmongoc? - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь выяснить, возможно ли запустить методы оболочки через libmongoc.Я могу запустить команды базы данных , используя метод mongoc_client_command .Так, например, я могу запустить listDatabases через mongoc_client_command, но не могу запустить db.adminCommand( { listDatabases: 1 } ).

  1. Можно ли запустить методы оболочки через библиотеку libmongoc?
  2. Если нет, есть ли альтернативный API для запуска команд оболочки на Mongodb?

1 Ответ

0 голосов
/ 06 октября 2018

mongo команды оболочки - это просто вспомогательные оболочки для базового API команды базы данных .

Если вы вызываете большинство помощников оболочки без скобок, вы можете видеть, какие команды выполняются.Например, 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().

...