MongoDb Exec() is not a function
Добрый день создаю программу с помощью NodeJS , столкнулся с проблемой, может она простая, ну я только начал изучать.
Вот код router
router.get('/', async (req, res) => {
const user = await req.user
.populate('cart.items.courseId')
.exec();
const courses = mapCartItems(user.cart);
res.render('card', {
isCard: true,
title: `Корзина`,
courses: courses,
price: 0
})
});
Сама схема:
const {Schema, model} = require('mongoose');
const userSchema = new Schema({
email : {
type: String,
required: true
},
name: {
type: String,
required: true
},
cart : {
items: [{
count : {
type : Number,
required : true,
default : 1
},
courseId : {
type : Schema.Types.ObjectId,
ref : 'Course',
required : true
}
}]
}
});
userSchema.methods.addToCart = function(course) {
const items = [...this.cart.items];
const idx = items.findIndex( c => {
return c.courseId.toString() === course._id.toString()
});
if (idx >= 0) {
items[idx].count = items[idx].count + 1;
} else {
items.push({
courseId : course._id,
count : 1
})
}
this.cart = {items};
return this.save();
}
module.exports = model('User', userSchema);
Запускаю, а она выдает ошибку
.exec(); ^ TypeError: req.user.populate(...).exec is not a function
index.js подключена модель User
const express = require('express');
const path = require('path');
const mongoose = require('mongoose');
const User = require('./models/user');
const exphbs = require('express-handlebars');
const homeRoutes = require('./routes/home');
const cardRoutes = require('./routes/card');
const coureseRoutes = require('./routes/course');
const addRoutes = require('./routes/add');
Не пойму почему ошибка
Спасибо.