Доброе утро. Я только начинаю изучать Монго, до этого работал

исключительно в SQL.
И тут у меня в Монго появилась задача которую я легко решил в Mysql

У меня есть Пользователь, у пользователя есть добавленные какие то айтемы. То есть он как бы владелец этих айтемов.
Так же есть Пользователь который может быть "партнером" данного айтема который добавил пользователь.
В Mysql решал так :
Users -> items

У items я прописывал user_id (Владелец)
Many 2 Many - Таблица partnerings а в ней user_id , item_id

Каким лучше всего способом решить данную задачу ?

2 ответов

7 просмотров

не стоит носкуль использовать как реляционную субд от этого возникнет миллион проблем

как минимум нужно начать с того что в nosql данные хранятся в гораздо более денормализованном состоянии вплоть до дубликатов. как максимум построить новую схему данных опираясь на возможности mondodb. с ходу вашу задачу можно решить примерно так: user: { items: [ { title: 'item1', partners: [ {username: 'vasily', user_id: '12'} ] } ] } или если итемов планируется много то развернуть схему относительно итемов item: { title: 'item1', owner: {username: 'Petrov, user_id: '1'}, partners: [ {username: 'vasily', user_id: '12'} ] }

Похожие вопросы

Обсуждают сегодня

Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
А сколько часов мак держит зарядку в рабочем режиме? Например мой Redmi Mac (просто наклейка от айфона осталась, налепил) по началу держал часов 5 с парой открытых штормов и ...
Ross
8
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
Ребят, а вот такой вопрос: если я владелец бота анонимного чата, в котором, например, имеются подписки, используя какую-нибудь ЮКассу (или тому подобное, в общем с налогами, в...
Eugene Неелов
8
Гнева и тупости пост. Как блять можно работать с маркетологами? Их в детстве всех родители случайно цепляли об дверные откосы? Поступила таска, на сайте "лишний счетчик Google...
Igor
4
Всем привет. А никто не в курсе у бота может быть заблокированна возможность принимать звезды? На одном боте вызываю sendInvoice с нужными параметрами все ок, на втором дела...
John Doe
2
а у тг (бот) апи вообще есть статусная страница, кстати?
e\\/gen
5
Вообще сейчас эти все провайдеры облаков оборзели. Если тебе нужно 4 ядра и 4 гб., хер где такую конфигурацию найдешь. Суют тебе сразу либо 8гб. либоа сразу 16 гб., они мне на...
Igor
4
Всем привет, хотел бы спросить для дальнейших задач кто что знает про ИИ на php? Машинное обучение все дела Кнш не самое подходящее для ИИ, но может кто что знает за эту тему
Dororo Steeeve
1
Карта сайта