When comparing MongoDB vs OrientDB, the Slant community recommends MongoDB for most people. In the question“What are the best databases to use for Node.js applications?” MongoDB is ranked 5th while OrientDB is ranked 10th. The most important reason people chose MongoDB is:
Miles above other databases in educational resources.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
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.
Pro Multi-model database (document, object, graph)
This database is primarily, or historically, thought of as a graph database. However, it is actually a multi-model database that supports a variety of noSQL models (key-value, document, etc.).
Pro Open Source commercial friendly license (Apache 2)
The Apache 2 license is one of the most liberal licenses. You can use OrientDB for any purpose for free.
Pro Free clustering support
Unlike other NoSql databases, OrientDB offers clustering support for free. Furthermore, it's not a basic Master/Slave, but it supports Master-Master replication + Sharding.
Pro Distributed Graph Database with relational type Documents
Pro Supports sql as well as other query languages
It can be queried in a number of ways, but the ability to query with SQL makes it a bit more familiar to use.
Pro Multi-master replication
OrientDB is incredibly scalable thanks to its multi-master replication. All nodes in a cluster can both read and write.
Pro Full text search
Full text search support is available when using Lucene based indexing algorithm.
Pro Performance
OrientDB is very fast, especially when it comes to relationships between records (or "links").
Pro Enterprise version available
The Community Edition is free and covers many features, but an Enterprise Edition is available (prices are transparent, published online) with 24x7 support.
Cons
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.
Con Not well known
It's a very unfortunate thing, but it's true. Not many people know of this gem so that makes it difficult to find community support at times. It also makes it hard to get people on board with it who shop products by brand name or flashy marketing. It also means there are fewer code snippets, libraries, and frameworks that consider it. While it's interoperability is good with SQL support and Tinkerpop, it still doesn't change the fact that many things don't give it much thought and that can lead to more work as a developer sometimes.
Con Learning curve
A lot of effort went into making OrientDB easy and familiar to use (such as SQL queries for example). However, it's important to understand the database engine a bit and how it works in general (links for example). This involves a bit of a learning curve if you're not familiar with graph databases. Not an enormous curve or anything, but it's still a consideration.
Con Bulk inserts may cause an out of memory crash
When doing inserts in OrientDB you have to be careful to do them one at a time. Bulk inserts may cause out of memory error
.