Выполнение инструкций MongoDb в Python
Вопрос
У меня есть веб-сервер, работающий на Python.Он получает данные из некоторых приложений и должен хранить их в MongoDB.Мой MongoDB сегментирован. Теперь я хочу, чтобы мой веб-сервер знал, сколько шардов в MongoDB.В настоящий момент он читает это из файла cfg.В MongoDb есть утверждение с именем printshardingstatus, в котором вы можете видеть все шарды.Итак, я попытался вызвать это утверждение с моего сервера Python.Но похоже, что это невозможно, я не нашел в Pymongo API такой функции.
Итак, мой вопрос: есть ли возможность запустить оператор MongoDB в Python, чтобы он напрямую передавался и выполнялся в MongoDB?
Решение
Для printShardingStatus нет серверной команды - это просто вспомогательная функция оболочки mongo (javascript).Помощник - это несколько запросов к база данных конфигурации, а затем некоторая группировка и форматирование, чтобы все выглядело лучше.
Если вы когда-нибудь захотите увидеть, как все работает в оболочке javascript, вы можно просто удалить скобки ("()") из функции, и она напечатает код javascript.
Вот код из оболочки javascript.
GenracodicetagpreДругие советы
Вы пробовали pymongo или mongoengine ?Тогда, возможно, отправьте сообщение авторам ...
Вы можете просто получить базу данных конфигурации и выполнить find () для сбора осколков, как при обычном сборе.