Regina : real-time client-database communication overlay for MongoDB.

By Joan Anagbla (luffy)

Elevator Pitch

Regina ( eliminates the need to develop a server and manually manage synchronization between clients. Thus, it reduces the time needed to develop an application. Learn how to make real-time queries from the client side and synchronize multiple clients using tags.


This talk is about how to use a new tool : Regina in conjunction with a MongoDB database.

Regina acts as a universal server that makes real-time queries possible from js, ios and java clients. Based on database level events, it can also automate synchronization between different clients using keywords.

Through several examples, code, and demos, we will show how to use this new tool.

This talk is open to any type of public and requires only basic knowledge of MongoDB queries.

Here is the outline of this presentation :

I. Introduction

  1. What is Regina, what it allows.
  2. Issues and context that led us to create Regina.
  3. Goals that Regina has allowed us to achieve.

II. Regina

  1. Operating principle
    • How Regina acts as a real-time bridge between clients and MongoDB.
    • The « follower » synchronization model : use of tags to manage synchronization between clients.
  2. How to use it : examples of classic uses of Regina (code samples and demos).
    • Installation & connection to a MongoDB database.
    • How to make simple queries to a MongoDB database.
    • How to sync groups of clients using tags.
    • How to use tag’s scope.
    • How to understand metadata in a query response.
    • Business-level synchronization.
  3. Limitations, solutions and future improvement
    • Client side security issues.
    • Duplicating the writing of aggregation queries for multi-platform applications.
    • The need for server-side functions (cron jobs, cloud functions, etc.).

III. Conclusion

  1. Recall of what Regina is
  2. For whom it is
  3. Why use Regina in conjunction with MongoDB


Web consultant at Zenika, I developed Regina as part of an internal project.

For this presentation, all I need is an internet connection and a projector.