When comparing SQLite vs MongoDB, the Slant community recommends SQLite for most people. In the question“What are the best databases to use for Node.js applications?” SQLite is ranked 4th while MongoDB is ranked 5th. The most important reason people chose SQLite is:
Ranked in these QuestionsQuestion Ranking
Pro Great language support
An SQLite database is a single ordinary disk file that can be located anywhere in the directory hierarchy. It works by sending requests to a single file where all the data is kept instead of communicating with a hosted database which gives access to an interface by making use of sockets and ports. The file format used is also cross-platform, so can easily be migrated to various machines.
This makes SQLite extremely portable throughout different applications, all that's needed to transfer the whole database is to make a copy of the file.
SQLite is also only 350KiB in size.
With less complication, there is less to go wrong.
Pro Zero configuration
There is literally no configuration required to get SQL lite up and running. This is mainly due to SQLite being serverless, there is no separate server process to install, setup, configure, initialize, manage, and troubleshoot.
Pro Great for testing and first stages of development
Because of it's ability to scale and with the portability that a single-file database gives you without losing much of the power and features that SQL gives developers, it's a great choice for testing applications and for the early stages of development when the workload and the data that needs to be stored is not that large.
SQLite is largely self-contained. It requires very minimal support from external libraries or from the operating system.
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 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 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.
Con Some SQL features are missing
SQLite is made to be extremely lightweight and portable, but it still uses SQL. However, some SQL features such as
RIGHT OUTER JOIN and
FOR EACH STATEMENT are missing.
Con Reported to loose 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.