Answer the question
In order to leave comments, you need to log in
Who knows a replacement for MongoDB?
MongoDB has a two-tier data organization model: collections > JSON documents.
This is ok for small resources, say, for a blog where there are only posts.
What if each user has their own posts? All posts to push in one collection or in one array? If you need to implement something more or less normal, you have to write a crutch on a crutch.
We need at least a three-level model.
You can insert a document into a collection only at the end.
For example, I insert a post into a collection, and I need to take the posts by the date they were added.
Of course, you can do all this by searching, or write a crutch with skip, limit.
If it was possible to insert everything at the beginning of the collection, it would be much easier.
MySQL? potgresql? REDIS? Any other?
Подскажите, пожалуйста, кто знает лучшую альтернативу.
Answer the question
In order to leave comments, you need to log in
В чем проблема-то? Вы что-то не то делаете, и проблема не в монго, а как говорится в прокладке между стулом и монитором.
коллекция юзеры -> id, email, password
коллекция посты -> id, user_id, post_content
var user = users.find(1);
var posts_by_user = posts.find({ user_id: user._id });
Ну могу посоветовать, как альтернативу, Elasticsearch. Но, боюсь, она вам еще больше не понравится, хотя на мой взгляд очень даже. По моему, у вас просто что-то не то с организацией данных, да и какие проблемы выбрать последние 10 по дате? Это же обыкновенный поиск по индексу, все должно очень быстро работать.
PS.
recloudor: И да, как альтернативу сортировке, предлагаю использовать для этого REDIS. При добавлении поста в монгу, добавлять id поста дополнительно и в list REDIS.
Из редиса доставать ОДНИМ запросом идентификаторы последних n-записейlrange user_posts:id1234 10 -1
What if each user has their own posts? All posts to push in one collection or in one array?
Why don't you like MongoDB?
We somehow did a realtime service on nodejs loopback + mongoDB
Many users, millions of records, more than 6000 requests per second. And everything flies
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question