Answer the question
In order to leave comments, you need to log in
How to properly structure the database?
Работаю с NodeJS и Mongo. Не могу привыкнуть к не реляционной БД после реляционной.
Один из принципов не реляционной БД стоит в том, что в одном документе должно храниться все что нам необходимо для работы на одном экране. Ну то есть если у нас есть посты то в документе должна быть вся информация о посте, вместе например с автором поста.
То есть такая структура:
- Название поста
- описание
- Имя автора
И здесь ступор. А что если автор изменил свое имя? То есть у него есть еще своя коллекция данных, например:
- ID
- имя
- Почта и т.д.
Получается делать отношение пост - ID пользователя это не верно. Но как тогда при просмотре поста получить верное имя юзера а не старое?
Answer the question
In order to leave comments, you need to log in
The easiest option is to create a new field in posts, for example "user_id", which stores the unique _id of the user who created this post, and, for example, pull out user data by aggregation, additionally working with a filter:
db.posts.aggregate([
{
$lookup: {
from: 'user',
localField: 'user_id',
foreignField: '_id',
as: '_user'
}
}
]);
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question