When comparing AceBase realtime database vs MongoDB, the Slant community recommends MongoDB for most people. In the question“What are the best NoSQL databases to use for Node.js applications?” MongoDB is ranked 4th while AceBase realtime database is ranked 9th. The most important reason people chose MongoDB is:
Miles above other databases in educational resources.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Also runs in the browser
Besides having a client that connects to a remote AceBase server, the database itself is able to run in the browser. It uses the same to codebase with a different storage provider (IndexedDB instead of binary in Node.js), which makes it possible to run a fullblown realtime database in the browser that syncs between multiple tabs, and can additionally be used as local cache database for an AceBase client to enable offline usage.
Pro Synchronizes very well
Realtime data change notifications are blazingly fast which makes synchronization between apps instant and effortless. When used offline, local and remote changes are synchronized upon reconnect without any hassles. Changes are logged on the property level which makes them synchronize extremely efficient and fast.
Pro Very easy to setup
It takes very little effort to add AceBase to a Node.js or web project, it's ready to use after installing it as a dependency. It uses a API very similar to that of the Firebase realtime database, which makes it familiar and easy to migrate from Firebase to AceBase for a local db instance or fullblown realtime db server.
Pro Perfect documentation and tutorials
Miles above other databases in educational resources.
Pro Great speed
MongoDB queries can be very fast because the data is usually all in one place and can easily be retrieved in a single lookup. But this is true only when the data is truly a document. When it's trying to emulate a relational model it starts to become really slow because it may have to perform many independent queries to retrieve a single document.
Pro Uses JSON
As Node.js uses JavaScript there's no need to map the returned JSON data from MongoDB, as JavaScript is a superset of JSON. Essentially solving object-relational impedance mismatch by its very nature. Working with JSON is also easier overall as it more easily fits into how you would represent data on the client.
Pro Doesn't require a unified data structure
Mongo is very flexible in that it doesn't require a unified data structure across all objects. So it's rather easy to use.
Pro Easy to scale
MongoDB has powerful sharding and scaling capabilities for when the data stored in the database gets so large that a single machine may not be able to store all of it. Sharding solves this problem through horizontal scaling. Mongo gives developers the ability to easily and painlessly add or remove as many machines as needed.
Cons
Con Only has Javascript SDK
There currently are no other SDKs besides the Javascript client, which limits its usage to Node.js / Electron / Web environments only. However, the project is fully open-source and the server has a REST API, so most database operations can also be performed using http requests. The latter also makes it possible for the community to develop their own client SDKs.
Con Reported to lose or corrupt data
MongoDB is famously known for leaking and losing data over time.
Con Document Stores may be not suited for relational data
MongoDB has no JOIN, all relations are supposed to be resolved client-size which entails additional requests to the server.
Con Need many search features
Though it is possible to index and search text in documents in MongoDB 4.0 in multiple languages. The indexing and search is not as powerful as for example Elastic Search. For instance not being able to search for only parts of words.