
Gleb
11.01.2018
21:22:55
ну хз) из твоего скрина people коллекции взятся неоткуда

Vladislav
11.01.2018
21:23:14
ты не представляешь в каком я недоумении

Gleb
11.01.2018
21:23:46
проверь бд, может ты не той бд ищешь

Vladislav
11.01.2018
21:23:47
мб оно когда создает колекцию, то добавляет s в конце

Google

Evgeny
11.01.2018
21:23:47
Дык дропни и перезапусти

Vladislav
11.01.2018
21:23:50
как артизан
и тут частные случаи добавлены
я прав

Gleb
11.01.2018
21:24:48
добавь mongoose.set('debug', true); и посмотри что монгуз спрашивает у монго

Vladislav
11.01.2018
21:24:51
https://stackoverflow.com/questions/24668976/mongoose-behavior-and-schema
забавненько

Gleb
11.01.2018
21:32:17
мда, я знал что монгуз 's добавляет в конце колекции, но оказывается он приводик к множественной форме по всей строгости... и правда забавно

Yan
11.01.2018
22:59:17
ребят, порекомендуйте бест инструмент для генерации доки для апи

Vladimir
11.01.2018
22:59:40
apiDoc
с возможностью реалтайм запросов

Yan
11.01.2018
23:01:55
спасибо)

John
11.01.2018
23:13:20
New Year Sale! Every Programming Course is 93% off!
https://reactdom.com/sale

Google

Иван
11.01.2018
23:13:36

Nikita
12.01.2018
00:53:00
Теперь не нужно ломать голову в поисках фильма.Ежедневная подборка фильмов, достойных просмотра. Живые рекомендации,ссылки,трейлеры, описания, кадры, оценки. Только хорошее кино! Присоединяйтесь!
https://t.me/whatmovies

Sergey
12.01.2018
04:53:50

Леха
12.01.2018
06:13:32

Kam
12.01.2018
06:32:46
ребят подскажите, мне нужно на сервак грузить картинку и нужно сделать проверку на то что это не исполняемый файл, а именно картинка
как это провернуть

Den
12.01.2018
06:33:41
Попробуй библиотекой по работе с картинками открыть этот файл

Kam
12.01.2018
06:34:16
типо имеджМаджика?

Den
12.01.2018
06:35:06
В ноде с картинками не работал, но в ПХП есть функция, которой открываешь файл, а потом получаешь инфу о картинке, типа расширение, размер фото и т.д. В случае, когда грузишь не картинку, он кидает ошибку

Kam
12.01.2018
06:36:02
еще вопрос в статьях на тему загрузки изображений с формы везде либа formidable

Den
12.01.2018
06:36:03
Либо читать стандарты и самому писать функцию, которая будет читать заголовки файла и решать, картинка это или нет

Kam
12.01.2018
06:36:07
зачем ее юзают?

Den
12.01.2018
06:36:42
Полагаю, что она удобна, когда надо получать тело типа multipart form data

Kam
12.01.2018
06:38:41
ну то есть без нее я тоже смогу спокойно получить файл
еще вопрос, где можно посмотреть размер npm пакета

Den
12.01.2018
06:43:09
Сможешь, если воспользуешься другой библиотекой. Сам nodejs не парсит запрос из браузера, это делают различные библиотеки. Для express это обычно body-parser

Kam
12.01.2018
06:46:40
спасибо
почему то в статьях юзают и бодипарсер и формидабл
нашел на стаке что бодипарсер обрабатывает только json

Google

Dmitriy
12.01.2018
07:35:52
Ребят подскажите пж-та как можно улучшить связи в mongoose.
Есть маршрут для отрисовки 1 статьи + все ее комментарии
Вот так это выглядит в express router
// Get post by id
router.get('/:postId', (req, res, next) => {
mongoose.connect(url);
var Post = mongoose.model("Post", postScheme);
var id = req.params.postId;
Post.findById(id, function(err, doc) {
var Comment = mongoose.model("Comment", commentScheme);
Comment.find({post_id: id}, function(err, coma) {
mongoose.disconnect();
res.render('post/show', {
title: doc.title,
post: doc,
comments: coma,
});
});
});
});
Получается что я вызываю модель Comment внутри функции Post.find...
Может есть более элегантный способ, как можно отрисовать все комментарии к статье
В модели Comment в качестве внешнего ключа указан post_id с uuid найденого поста

Pavel
12.01.2018
07:38:43
Так эти запросы можно паралельно делать
Используйте промисы и будет красиво

Dmitriy
12.01.2018
07:39:43
И еще вопрос.
Вот я построил запрос с .then:

Dmitriy
12.01.2018
07:49:11
User.find({}).then( data => {
res.render('user/index', {title: "Users", users: data});
});
Мне нужно вынести из функции, запрос на ренедр шаблона
Но из-за локального окружения функции доступ к данным нет
Хочется так
User.find({}).then( data => {
// тут будет запись данных во внеш. переменную
}); res.render('user/index', {title: "Users", users: data});

Vitaly
12.01.2018
07:51:31
async/await

Alexey
12.01.2018
08:11:50
https://learn.javascript.ru/promise

Google

Dmitriy
12.01.2018
08:16:25
router.get('/', function(req, res, next) {
mongoose.connect(url);
var User = mongoose.model("User", userScheme);
var users = User.find({})
.then(data => data)
.catch(err => err);
res.render('user/index', {title: "Users", users: users});
});
На отсутствие переменной users, обработчик не ругается. Однако никаких данных нет

Vitaliy
12.01.2018
08:18:22
они есть просто ты не ждеш пока их достанешь

Evgeny
12.01.2018
08:18:55

Vitaliy
12.01.2018
08:19:11
ти сразу отправляешь undefined у рендер

Admin
ERROR: S client not available

Vitaliy
12.01.2018
08:19:25
или через await сделай

Dmitriy
12.01.2018
08:19:34

Kam
12.01.2018
08:20:22
ребят подскажите бодипарсер-экспреса не может файлы парсить же

Vitaliy
12.01.2018
08:20:39
файлы что сервер шлет?

Dmitriy
12.01.2018
08:20:48

Evgeny
12.01.2018
08:22:28

Kam
12.01.2018
08:22:28
не если с фронта нужно отправлять файл на сервак
нужно мультипарт форм дату использовать
а бодипарсер не может в нее же

Evgeny
12.01.2018
08:25:38

Vitaliy
12.01.2018
08:25:47
есть multer

Kam
12.01.2018
08:27:23

Dmitriy
12.01.2018
08:29:40

Google

Dmitriy
12.01.2018
08:30:07
Есть какой-нибудь способ чтобы все таки пробросить данные на внешний уровень?

Evgeny
12.01.2018
08:30:27
пока еще не знаю.
ну просто ты привел пример на промисах, я тебе предложил решение на промисах=)

Vitaliy
12.01.2018
08:30:36
async/await

Dmitriy
12.01.2018
08:30:40
router.get('/', function(req, res, next) {
mongoose.connect(url);
var User = mongoose.model("User", userScheme);
var users = User.find({})
.then(data => data)
.catch(err => err);
res.render('user/index', {title: "Users", users: users});
});
Мне надо чтобы переменная users отдавала данные из then

Vitaliy
12.01.2018
08:31:17
ставишь await на Users.find; и все

Dmitriy
12.01.2018
08:31:20
и чтобы в шаблоне res.render уже поступали данные а не пустота как сейчас

Evgeny
12.01.2018
08:32:25

Алексей
12.01.2018
08:32:30

Dmitriy
12.01.2018
08:32:43

Cenator
12.01.2018
08:33:12

Vitaliy
12.01.2018
08:33:15
обяз должнен быть await

arts
12.01.2018
08:33:54

Алексей
12.01.2018
08:34:09
res.render выполняется не в then > перед User.fin...
Вам нужно ознакомиться с промисами

Dmitriy
12.01.2018
08:34:57
что за ошибка?
router.get('/', function(req, res, next) {
mongoose.connect(url);
var User = mongoose.model("User", userScheme);
var users = await User.find({})
.then(data => data)
.catch(err => err);
res.render('user/index', {title: "Users", users: users});
});
.then(data => await data)
^^^^^
SyntaxError: missing ) after argument list