Задать вопрос
@nimfai
Full stack developer

Как делать выборку из MongoDB?

Здравствуйте! Возник вопрос, скорее от недостаточного понимания, как делать выборку из бд.
Для примера имеем следующие коллекции:
Users: {_id, name, password, email}
Teams: {_id, name, team_leader, team_members: []}
Clients: {_id, name, team_id, profile: [], users_access: []}
Tasks: {_id, task, team_id, user_creator_id, access_users: []}
Вот совершенно не понимаю как делать выборку клиентов и задач для члена команды, если у него есть доступ (users_acces).
В моём понимании:
  1. По id юзера получаем id команды
  2. Делаем выборку из клиентов или задач по айди юзера и айди команды

Вот только вопрос как это сделать?

Или это я неправильно спроектировал базу?
Как вообще переключиться с MySQL на MongoDB?

Да, понимаю, что проще взять MySQL и не париться. Но следующий проект планируется на MeteorJS и тут только Mongo.
  • Вопрос задан
  • 282 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@c0va23
Backend-разработчик
Лучше не использовать монгу для реляционных данных. Иначе получить проблем больше, чем преимуществ.

Но если всё же решитесь использовать монгу, то https://docs.mongodb.com/manual/reference/operator... вам в помощь. Либо делать по несколько запросов в базу.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zentelechia
@zentelechia
Тестирую идеи - делаю прототипы софта и железа
В монго прекрасно работает выборка
Clients.find({ users_access: this.userId})
Tasks.find({access_users: this.userId}
)
Несмотря на то что access_users - массив ID пользователей, { access_users: id } позволяет выбрать те документы, где значение входит в массив
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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