Как присвоить значения перечисления сегменту в Mongodb?

#mongodb #sharding

Вопрос:

Я хочу разделить свою коллекцию по географическому местоположению. Все мои документы имеют поле региона, например, США или ЕС. И я хочу хранить их в специальном осколке монго. Я настроил сегментирование, но я борюсь с назначением ключей сегментирования для сегментов. Я только обнаружил, что могу присваивать сегменту диапазон значений, а не список перечислений. Итак, чего я хочу:

Допустим, у меня есть два осколка: ЕС и США. И у меня есть два документа {"user_id":1,"region":"US"} и {"user_id":2,"region":"EU"} . Ключ к осколкам есть . "region" Первый документ отправляется в осколок США, а второй-в осколок ЕС.

Я не нашел, как присвоить значения перечисления сегменту, только диапазону. Я пытался назначить диапазон следующим образом: sh.addToRange("test.users", {"region":"US"}, {"region":"US"}, "US"} , но я получаю ошибку, что минимальный ключ не должен равняться максимальному ключу.