2015-10-15 3 views
1

Как я могу эффективно отображать статус «подключенного пользователя» в моем списке друзей, используя mongoose?Mongoose запрос для связанных пользователей

Я использую сокет ю тоже (и я планирую переключиться на гнездо p2p)

мой список друзей массив объектов с идентификаторами, имя, рис, гнездо в качестве реквизита и этот массив хранится в моем профиле документа ,

я вижу несколько вариантов здесь, но не могу понять, что лучше

  1. использовать оператор $ в для запроса всех пользователей, подключенных к приложению и сопоставить результат с моим набором друзей

  2. магазин каждый зарегистрированный пользователь в отдельную коллекцию и сделать своего рода comparaison

  3. поиск в гнездо адаптера IO с розеткой идентификатором каждого друга (пара вопросов обращаться здесь например: браузер обновления)

спасибо за вашу помощь

ответ

1

Рассмотрите возможность использования Primus и Primus Rooms для этой цели. В основном Primus является абстракцией для вашего уровня сокета и дает вам возможность использовать различные реализации веб-сокетов.

Primus Rooms добавляет функциональность, позволяющую клиентам (друзьям в вашем случае) присоединиться к определенной «комнате», а затем передавать сообщения всем подключенным клиентам.

Поскольку эти инструменты с открытым исходным кодом могут предоставить вам требуемую функциональность, нет смысла изобретать колесо.

Относительно Mongoose: Primus Rooms по умолчанию использует «адаптер памяти». Это означает, что это не сохраняется, когда клиенты присоединяются к комнатам. Однако не стесняйтесь писать адаптер Mongoose для комнат Primus и вносить свой вклад в сообщество.

Смежные вопросы