What your trying to do is very difficult (particularly since your data views are relying upon joins and group queries.) You may need layered solutions.
I've been looking at https://deepstream.io for keeping clients in sync. You will still have to watch the db, though the client and back end sync is handled!
I've been looking at https://deepstream.io for keeping clients in sync. You will still have to watch the db, though the client and back end sync is handled!