Несколько разделов в области MongoDB
Попытка смоделировать стандартное мобильное приложение Salesforce в области MongoDB.
Очевидное разделение - использовать продавца в качестве ключа раздела. Таким образом, я могу синхронизировать все магазины и счета каждого продавца в отдельном разделе.
Однако в некоторых случаях продавцы могут пересекать магазины друг друга. Один продавец может видеть магазины другого продавца, но не должен видеть свои предыдущие счета.
Первоначальный продавец должен видеть счета-фактуры своих магазинов, даже если они созданы другим продавцом.
Могу ли я создать несколько разделов для одного набора данных?
_partitionKey: "salesman_id=1234"
_partitionKey: "store_id=abcdefg"
и получите необходимые данные по префиксу ключа раздела.
или
Нужно ли дублировать данные для 2-х объектов?
Объект для продавца с
_partitionKey: "salesman_id=1234"
и объект для магазина с _partitionKey: "store_id=abcdefg"
или есть другой способ решить эту проблему?
1 ответ
Насколько мне известно, вы можете разбить коллекцию MongoDB на несколько разделов. В вашем случае может показаться, что вы хотите разделить счета-фактуры по store_id, а затем иметь свойство в счете-фактуре, в котором записывается продавец, создавший счет. Я предполагаю, что в магазине может быть несколько продавцов, поэтому в магазине должен быть список идентификаторов продавцов.