I create a community site with Node.JS and Express, and almost all of the quick tutorials or examples use MongoDB, so I checked it out. The only database I have used so far is MySQL, but I am not so familiar with it, so I would not like to read in MongoDB. Mongo looks good, and a document model can be useful. And with mongoose it is easy to use. But I have some questions, so I don’t spend much time learning MongoDB, if it doesn’t work at all:
I read that MongoDB is unreliable if you use it on only one computer and you may face data loss. It is right? The project is not so large that I can afford another server, and data loss is not an option at all! Imagine that some forum posts just disappear. But I think that people will not use it if this happens.
The site will contain a forum for self-assembly, and I'm not sure if relational db would be better. However, you can save streams with inline messages and so on. But I do not know how to search, since Mongo does not support full-text search. What do you think?
When to use embedded documents in Mongo? Example. The user can post status updates, for example, on Twitter. Would you save these updates to a user document? There may be many updates. Or a document for updating and binding it to a user ID? 3.1. And how to execute a request for several documents? You want to receive the last 10 status updates of your friends. You can do this with MySQL JOINs.
Is there a way to use auto-increment identifiers for documents like MySQL? For example, the user must have a unique integer key, but I do not want some random number, such as Mongo, to do this, so that the small identifiers of the user.
? db, - . , , .