Administrar mensajes no leídos en firebase chat

Estoy construyendo chat en tiempo real, muy similar con Skype uno. Uso firebase como backend y angularfire en el lado del cliente. Básicamente, todas las cosas se ven claras, pero me he quedado con una cosa: mostrar el recuento de mensajes no leídos.

La aplicación utiliza un diseño de Firebase muy simple: 2 o más usuarios pueden chatear en una "sala": colección raíz con un nombre único. El mensaje de chat, excepto el texto, puede contener "metadatos": identificación del remitente, marca de tiempo, etc.

Simplemente, necesito una emulación de este pseudocódigo:

room.messages.where ({no leído: verdadero}). count ()

Por ahora, segúnesta, (¿Puedo contar los hijos en una ubicación sin recuperar los datos secundarios reales?) Yesta Estoy tratando de administrar el recuento de mensajes no leídos por habitación por transacciones y restablecer el recuento cuando se ve. Pero es una parte muy complicada, y tengo curiosidad, ¿tenemos algún enfoque recomendado aquí, que pueda reducir la cantidad de trabajo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta