У меня есть простой модуль чата, который позволяет учетным записям создавать многопользовательские комнаты.
Учитывая приведенную ниже схему - возможно ли создать запрос, который проверит, соответствует ли комната заданным пользователи уже существуют?
Если эта проверка может привести к проблемам с производительностью - можете ли вы предложить другой дизайн или подход?
Пример данных:
- chat_id: 1, users: [1, 2, 3]
- chat_id: 2, users: [2, 3]
- chat_id: 3, users: [1]
- chat_id: 4, users: [5, 6]
Желаемые запросы :
Check if chat room for users [2, 3] exists => true, id: 2
Check if chat room for users [1, 2, 3] exists => true, id: 1
Check if chat room for users [2, 6] exists => false
Check if chat room for users [1, 2, 6] exists => false
Я использую postgres 11.2
РЕДАКТИРОВАТЬ : Я также смогу получить идентификатор чата, если данная комбинация существует.