0
So I ended up solving this by doing:
io.to(socket.id).emit('findAllChatsByUserId', data);
instead of:
io.to(socket.userId).emit('findAllChatsByUserId', data);
So you use the "to" attribute to make sure the data you’re sending is going to a particular socket, and you can find your specific socket by just calling socket.id (you don’t have to set this, it gets set on its own. And the data will get emitted to whomever is on that specific socket.
Source:stackexchange.com