Для библиотеки мне нужно отслеживать пользователей и книги. По сути, мне нужно знать:
- список книг, в данный момент заимствованных пользователем
- текущий заемщик данной книги
Приложение выполняется с помощью node.js и mongoDB (с помощью moogoose). У меня есть следующая схема:
BookSchema = new Schema({
title : String,
author : String,
current_borrower_email: String,
});
mongoose.model('Book', BookSchema);
// Define User model
UserSchema = new Schema({
lastname : String,
firstname : String,
email : String,
books : [BookSchema] // Books the user is borrowing
});
mongoose.model('User', UserSchema);
Полагаю, было бы проще настроить это в реляционной БД, где я мог бы легко использовать многие из многих судов отношений с внешними ключами, но я хотел попробовать MongoDB.
Как вы думаете, это решение может работать? Кроме того, если я удаляю объект Book, кажется, мне придется удалить его вручную из массива пользователя, который его позаимствовал, верно?