Я использую две модели Mon goose для отображения избранного. Пользователь добавляет избранное, и он сохраняет его идентификатор в пользовательских моделях. Модель пользователя:
const User = new Schema({
firstName: {
type: String,
required: true
},
lastName: {
type: String,
required: true
},
email: {
type: String,
required: true,
unique: true,
required: true
},
isVerified: {
type: Boolean,
default: false
},
password: {
type: String,
required: true
},
isCharged: {
type: Boolean,
default: false
},
resetPasswordToken: String,
resetPasswordExpires: Date,
favorites: [
new Schema({
idSave: { type: String }
}, { _id: false })
]
});
Теперь избранное каждого пользователя отображается на странице favoris'
. Но как перевести в программировании: если в модели Автомобиля есть такой же id (idSave
в User, objectID
*), взять значение type_fr
этой Модели и отобразить его? Модель автомобиля:
const CarSchema = new Schema({
objectID: {
type: Number
},
type: {
type_fr: {
type: String
}
}})
Мой маршрут на данный момент:
// Favorites Index
router.get('/favoris', ensureAuthenticated, (req, res) => {
let userId = req.user.id
let favUser = req.user.favorites
let favoritesArr = req.user.favorites.map(({ idSave }) => idSave);
res.render('users/fr/favoris', {
favorites: favUser
})
})
Шаблон руля:
{{#each favorites}}
<div> {{idSave}} </div>
{{/each}}