Несколько разделов в области MongoDB

Попытка смоделировать стандартное мобильное приложение Salesforce в области MongoDB.

Очевидное разделение - использовать продавца в качестве ключа раздела. Таким образом, я могу синхронизировать все магазины и счета каждого продавца в отдельном разделе.

Однако в некоторых случаях продавцы могут пересекать магазины друг друга. Один продавец может видеть магазины другого продавца, но не должен видеть свои предыдущие счета.

Первоначальный продавец должен видеть счета-фактуры своих магазинов, даже если они созданы другим продавцом.

Могу ли я создать несколько разделов для одного набора данных?

_partitionKey: "salesman_id=1234"
_partitionKey: "store_id=abcdefg"

и получите необходимые данные по префиксу ключа раздела.

или

Нужно ли дублировать данные для 2-х объектов?

Объект для продавца с

_partitionKey: "salesman_id=1234"

и объект для магазина с _partitionKey: "store_id=abcdefg"

или есть другой способ решить эту проблему?

1 ответ

Насколько мне известно, вы можете разбить коллекцию MongoDB на несколько разделов. В вашем случае может показаться, что вы хотите разделить счета-фактуры по store_id, а затем иметь свойство в счете-фактуре, в котором записывается продавец, создавший счет. Я предполагаю, что в магазине может быть несколько продавцов, поэтому в магазине должен быть список идентификаторов продавцов.

Другие вопросы по тегам