Таким образом, короткий ответ да, это возможно , однако я не знаю, что вы найдете команду, которую ищете.
Sharding MongoDB довольно прост. Базы данных config содержат диапазоны ключей, и эти диапазоны указывают на правильный хост. Конфигурационные базы данных на самом деле являются обычными БД, и вы можете подключиться к ним напрямую из оболочки или драйвера. ( они обычно работают на другом порте по умолчанию, чтобы избежать случайного подключения ).
Таким образом, вы можете легко найти хост, просто взглянув на доступные диапазоны. Логика не сложнее, чем цикл for
, пока ваш ключ не окажется в диапазоне.
Подробнее о ручном контроле шардинга смотрите здесь . Это даст некоторое представление о том, что происходит.
Обратите внимание, что все вышеперечисленные рекомендации являются «аннулированием гарантии». Вся концепция mongos
(маршрутизатор) и конфигурационных БД состоит в том, чтобы абстрагировать эту сложность. Делая то, что вы делаете, вам придется «заглянуть под капот».