Вопрос

У меня есть веб-сервер, работающий на Python.Он получает данные из некоторых приложений и должен хранить их в MongoDB.Мой MongoDB сегментирован. Теперь я хочу, чтобы мой веб-сервер знал, сколько шардов в MongoDB.В настоящий момент он читает это из файла cfg.В MongoDb есть утверждение с именем printshardingstatus, в котором вы можете видеть все шарды.Итак, я попытался вызвать это утверждение с моего сервера Python.Но похоже, что это невозможно, я не нашел в Pymongo API такой функции.

Итак, мой вопрос: есть ли возможность запустить оператор MongoDB в Python, чтобы он напрямую передавался и выполнялся в MongoDB?

Это было полезно?

Решение

Для printShardingStatus нет серверной команды - это просто вспомогательная функция оболочки mongo (javascript).Помощник - это несколько запросов к база данных конфигурации, а затем некоторая группировка и форматирование, чтобы все выглядело лучше.

Если вы когда-нибудь захотите увидеть, как все работает в оболочке javascript, вы можно просто удалить скобки ("()") из функции, и она напечатает код javascript.

Вот код из оболочки javascript.

Genracodicetagpre

Другие советы

Вы пробовали pymongo или mongoengine ?Тогда, возможно, отправьте сообщение авторам ...

Вы можете просто получить базу данных конфигурации и выполнить find () для сбора осколков, как при обычном сборе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top