Как смоделировать несбалансированные отношения «многие ко многим» в MongoDB - PullRequest
0 голосов
/ 04 ноября 2019

Я изо всех сил пытался смоделировать отношения в MongoDB для веб-сайта электронной коммерции.

У меня есть коллекция документов, представляющих продукты, которые будет продавать мой магазин, что-то вроде:

db.products.insertOne({
  _id: 1,
  name: "iPhone",
  sold_in: [ObjectId('1'), ObjectId('2')]
});

И у меня есть еще один представитель, представляющий магазины, например:

db.stores.insertOne({
  _id: 1,
  name: "Apple Store",
  products_sold: [ObjectId(1)]
});

У меня здесь отношения многие ко многим, товар можно продавать во многих магазинах, а магазин может продавать много товаров. .

Мне нужно ответить на следующие вопросы:

«Какие продукты продаются в этом конкретном магазине?»

«В каких магазинах продается этот продукт? «

Я представлял эту взаимосвязь, храня массив ссылок ObjectId продуктов в документе магазина и массив ссылок магазинов в документе продукта.

Но я чувствую, что естьлучше, новые продукты будут добавляться и удаляться из магазинов часто, и эта модель делает операцию обновления кошмаром.

То, что не будет сделано часто, будет обновлятьсяПри покупке продукта и смене магазина, в котором он продается, это случится, но редко.

Это отношение многих ко многим не сбалансировано с одной стороны, что я могу сделать, чтобы улучшить его? Что ты думаешь по этому поводу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...