Подскажите, пожалуйста. Делаю урок 38, добавил .lean() как писали ниже, курсы отображаются, при нажатии 'Редактировать курс' соединение пропадает, а в консоли пишется такое: (index):6733 crbug/1173575, non-JS module files deprecated. Делал все по видео, читал комментарии, но данную проблему никак не могу решить
artemdumchykov
Там просто проблема с id во views файлах hbs потому что вместо id получаем _id
artemdumchykov
И не забудьте дописать подключить mongoose где схема
иначе вместо этого [ {}, {}, .... ] будете получать [model, model, ......]
если что почитайте внизу коменты там кто-то уже сталкивался с этим но в итоге вызываю функцию lean() - await Course.find().lean()
bogdan4uk
63 урок - краще використовуйте SENDINBLUE мейлер. Налаштування таке ж саме.
pavelsergienko7
bogdan4uk
Спасибо огромное:)
Мне вот эта их инструкция помогла:
https://developers.sendinblue.com/recipes/batch-send-customised-html-emails-in-nodejs
Anonymous
44 урок, execPopulate() is not a function:
Solution => https://mongoosejs.com/docs/migrating_to_6.html#removed-execpopulate
помогло добавление в массив:
routes/cart.js
const user = await req.user
.populate(['cart.items.courseId'])
vladyslavkapral
84 урок. Рабочий файл index.html Todo приложения
https://github.com/vladyslavkapral/wfms-nodecc26.git
pavelsergienko7
vladyslavkapral
Спасибо большое:)
Bahamut-2003
49 урок у кого будут проблемы что не все данные отображаются в заказе то я нашел такое решение убил час на этот простой урок
26 урок. Подсказка для тех у кого не работает uuid!!! const {v4: uuidv4} = require('uuid') это пишем наверху, а это this.id = uuidv4() в конструкторе. Надеюсь подсказка будет полезна
wb
coursesour
спасиб
argonagent
coursesour
Спасибо!
kostia7alania
coursesour
Лучший
Nick
курс не для новичков ибо обьяснений практично ноль
Daniel
А исходников нет на данный курс ?
Anonymous
Может кто подскажет, почему helmet блокирует загрузку картинки по ссылке в курсах ?
R.S.
почему в материалах курса нет ничего?
CourseHunter Team
R.S.
https://prnt.sc/uof70g в этих папках все материалы
Evgenii190
Кто что думает по этому курсу
Anonymous
(Код ошибки: 100013)
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
const mongooese = require("mongoose")
new Shema( {
id: {
type: mongoose.Schema.Types.ObjectId,
required: true,
auto: true
},
.......
})
Чтобы решить данную пробему воспользуйтесь этим, это необходимо дописать в схему
id: {
type: mongoose.Schema.Types.ObjectId,
required: true,
auto: true
},
const {v4: uuidv4} = require('uuid')
не забудьте модуль path
это app.use(express.static(path.join(__dirname, "/public")))
а не app.use(express.static("/public"))
У кого буду проблемы когда дойдете до урока ПЕРЕПИСЫВАЕМ МОДЕЛЬ (mongodb)
const courses = await Course.find().lean() или
const courses = JSON.parse(JSON.stringify(await Course.find()))
иначе вместо этого [ {}, {}, .... ] будете получать [model, model, ......]
если что почитайте внизу коменты там кто-то уже сталкивался с этим но в итоге вызываю функцию lean() - await Course.find().lean()
Мне вот эта их инструкция помогла:
https://developers.sendinblue.com/recipes/batch-send-customised-html-emails-in-nodejs
Solution => https://mongoosejs.com/docs/migrating_to_6.html#removed-execpopulate
помогло добавление в массив:
routes/cart.js
const user = await req.user
.populate(['cart.items.courseId'])
https://github.com/vladyslavkapral/wfms-nodecc26.git
в файле order.js
router.get('/', async (req, res) => {
try {
const orders = await Order.find({
'user.userId': req.user.id
}).populate('user.userId').lean(). /// {
return {
...val, /// {
return total += course.course.price * course.count
}, 0)
}
})
})
} catch (e) {
console.log(e)
}
})
1. Устанавливаем следующие пакеты из npm
npm install handlebars
npm install @handlebars/allow-prototype-access
2. Подключаем их в начале файла index.js
const Handlebars = require('handlebars')
const { allowInsecurePrototypeAccess } = require('@handlebars/allow-prototype-access')
3. Заменяем фрагмент кода
const hbs = exphbs.create({
defaultLayout: 'main',
extname: 'hbs'
})
НА
const hbs = exphbs.create({
defaultLayout: 'main',
extname: 'hbs',
handlebars: allowInsecurePrototypeAccess(Handlebars)
})
Я другое решение применил мне тоже помогло,
const {Router} = require('express')
const Course = require('../modules/course')
const router = Router()
router.get('/', async (req, res) => {
const courses = await Course.find().lean()
res.render('courses', {title: 'Courses', isCourses: true, courses})
})
router.get('/:id/edit', async (req, res) => {
if (!req.query.allow) {
return res.redirect('/')
}
const course = await Course.findById(req.params.id).lean()
res.render('course-edit', {
title: `Edit ${course.title}`,
course
})
})
везде где вызываете await Course в самом конце ставите .lean()
например вот как
router.get('/', async (req, res) => {
const courses = await Course.find().lean()
res.render('courses', {title: 'Courses', isCourses: true, courses})
})