MongoDB документарная база. Заводить новый документ для каждого 'привета' и смайлика выглядит расточительством, поэтому голосую за Postgre.
Сейчас в чатостроении модно структурировать сообщения в комнате деревом топиков, а не выливать сплошным потоком.
В тренде архитектура "один источник истины, один способ изменения состояния" то есть все изменения немедленно писать в базу. Так считается консистентней. И хорошо в какой нибудь форме реализовать механизм pubsub, что бы на интересующие(комнаты/топики) изменения состояния можно было подписаться. При записи в базу подписчикам рассылается уведомление, что состояние изменилось и его нужно обновить запросом к базе. Впрочем можно время от времени обновлять без уведомлений без pubsub и без push.
Подписчик делает такой запрос, обновляет состояние целиком и уже задача стороны клиента сделать diff/patch что бы не перерисовывать view полностью, а только в необходимых местах.