
Таймураз
13.05.2018
12:45:28

K
13.05.2018
12:47:42

Таймураз
13.05.2018
12:49:35

K
13.05.2018
12:52:04
Если на скл хорошая модель бд + корректная нормализация + умение писать джойны у разработчика то должно быть всё достаточно просто.
Обычно происходит потом нагромождение и костыли хрен пойми какого исполнения и оттуда надо потом последующим "разгребать"

Google

Vitaliy
13.05.2018
12:52:39

Таймураз
13.05.2018
12:52:55

K
13.05.2018
12:53:12

Vitaliy
13.05.2018
12:53:33
ладно не буду холиварить

K
13.05.2018
12:53:50
ладно не буду холиварить
Ни разу не холиварю, просто новички должны тоже знать, что пользовать орм без твердых знаний sql залог последующего когда-то обязательно наставшего ппца

Vitaliy
13.05.2018
12:56:20
а чем можно польз новичку нормально без последущего ппца без твердых знаний?

Grigorii
13.05.2018
12:57:21

K
13.05.2018
12:57:30
в ручную нормализовать и писать квери пальчиками а потом уже смотреть в какие моменты использовать орм

Георгий
13.05.2018
12:58:56
/

Роман
13.05.2018
13:16:49
Ребят привет! Кто нибудь знает, есть какие нибудь пакеты, по распознанию графиков, потипа ЭКГ?

Ali
13.05.2018
13:20:03

Google

K
13.05.2018
13:39:42
А зачем конкретно делать findOne и потом findOneAndUpdate?

Stanislav
13.05.2018
13:41:45
как же больно вам писать на ноде боже возмите джангу

Sheldhur
13.05.2018
13:42:23
один раз не пидорас
второй раз уже привык

Cenator
13.05.2018
13:43:25
Хорек, ты умеешь нормально общаться?

Sheldhur
13.05.2018
13:43:49
нормально же общаемся
чё ты начинаешь

Stanislav
13.05.2018
13:44:14
к чему привыкать то... к вечным страданиям с тем что трейс перекинутого эксепшена затерся потоу что он перекинут в catch или к тому что сорсмапы не могут транслировать этот трейс потому что он словился "не там"...

dexofan
13.05.2018
13:44:45

Stanislav
13.05.2018
13:46:51
начни хотябы async/await использовать с тайпскриптом...

Yashko?
13.05.2018
13:54:03
и по хорошему это выносится в отдельное место, а не прям в миддлваре

Ali
13.05.2018
14:05:46
Спасибо за советы и еще хотелось бы избавиться от findoneandupdate вложенного в findone (внутри $set не получается обратиться к предыдущему значению изменяемого свойства)
P.s чувствую себя дауном, буду учиться

Alexander
13.05.2018
14:18:21

Ali
13.05.2018
14:55:36
Подойдет, они вроде особо не отличаются, но мне нужно в $set устанавливать новые данные, которые были бы на основе тех, что были
$set:{count: count/2} что-то в этом роде

Alexander
13.05.2018
15:11:52
У тебя с текущим алгоритмом проблемы с конкурентностью.
Два почти одновременных запроса сделают в сумме +2 к счётчику голосов, но в рейтинг засчитается только один

K
13.05.2018
16:11:05

Nikita
13.05.2018
16:36:27
ребят, а это норм тема, при нажатии на кнопку "создать собрание", создавать в бд пустой обьект, а после заполнение формы и нажатия на кнопку "готово" дописывать новые поля в этот обьект?
есть вариант того, что форму не заполнят и будет пустой обьект бд, но зато так не нужно обрабатывать два сценария: создание собрания и его редактирование

Google

Nikita
13.05.2018
16:37:03
может уже придумано как такое правильно делать?)

Morsik
13.05.2018
16:37:27
Капец ты ленивый

Charles
13.05.2018
16:38:28
оберни в транзакцию

Nikita
13.05.2018
16:38:34
дело не только в лени )
а можно подробнее ?)
оберни в транзакцию

Mikhail
13.05.2018
16:38:54

Charles
13.05.2018
16:39:12
в смысле подробнее
ну транзакции
в бд
ты чего
делаешь строку, лочишь ее, работаем дальше

Morsik
13.05.2018
16:40:36
А потом чистишь висящие транзакции

Charles
13.05.2018
16:41:11
зато мы с нежной БД обращаемся как надо

Nikita
13.05.2018
16:41:25
я примерно понимаю что такое транзакция, но не понимаю что тут значит "оберни в транзацкию" :)
ну и на сервере mongodb, я не уверен что к ней это уместно )

Charles
13.05.2018
16:41:27
ну или тогда делать транзакцию только на уровне кода, а потом персистить уже в бд, чтоб не было гемора на ее стороне
не помню что там в монге с транзакциями, но можешь курнуть вот в это, насколько я помню можно и в код полностью завернуть имплементацию (не обязательно по канону идти 100%) - https://martinfowler.com/eaaCatalog/transactionScript.html
короче в общем суть такова что тебе нужно сделать temporary сущность, с ней поработать а потом сделать аналог того же коммита, там дальше сам реши как надо конкретно в твоем кейсе. у тебя ассоциации между "собранием" и "что-то-там-что-вложено-в-собрание" какие?
я действительно не написал херни, тут никого нет, или у меня прокся отвалилась?...
а не, тормоза, sry

Google

Sheldhur
13.05.2018
16:50:07
я бы по нажатию кнопки "создать" сохранял необходимые пропсы в сторе приложения\сайта\etc, короче где-то на стороне клиениа
а уже по нажатию "готово" отправлял в базу

Charles
13.05.2018
16:50:50
вообще в его случае лучше наверное на бакэнд, просто именно там не сразу в бд
вдруг у него одновременный доступ к чему-то
ну например, это собрание в аудитории, и на нее "бронь" 3 минуты пока с ней работают... беру с потолка но все же

Sheldhur
13.05.2018
16:53:39
нипанятна, бронируется что-то материальное или нет

Admin
ERROR: S client not available

Charles
13.05.2018
16:53:57
так тем более

Sheldhur
13.05.2018
16:54:05
если материальное, то транзакции или его вариант

Charles
13.05.2018
16:54:05
если непонятно - лучше перестраховаться

Sheldhur
13.05.2018
16:54:23
если нет, то хранить на стороне клиента

Nikita
13.05.2018
16:55:31
всё еще не понятно как делать в итоге, но всем спасибо за варианты для раздумий ))

Charles
13.05.2018
16:55:48
ты бы пояснил детали понятнее бы стало что лучше подходит)

Sheldhur
13.05.2018
16:55:58
так ты скажи чё бронитуется то? материальное или нет?
разница то как бэ большая

Nikita
13.05.2018
16:56:40
не бранируется ничего )

Charles
13.05.2018
16:56:45
это не он про "бронируется" говорил а я - а я сам не знаю, может там вообще создание опроса с приглашением по инвайту - тогда выделяй адреса под опросы не хочу

Sheldhur
13.05.2018
16:57:13
не, зачем базу захламлять
пусть на стороне клиента хранит
а как готов будет, то в базу запишет

Google

Nikita
13.05.2018
16:57:37
упрощу пример, можно представить что это обычный todo лист, в котором записи записи создаются в модальном окне
нажал создать - открылось окно
нажал сохранить - добавилась запись
только еще можно редактировать в том же модальном окне
согласен
не, зачем базу захламлять
просто для редактирования будет урл "/item/id"
а для создания /item/add
и логика разная получается, при редактировании нужно подставить в инпут уже имеющийся текст, например

Sheldhur
13.05.2018
16:59:28
REST?

Nikita
13.05.2018
16:59:43
было бы удобно если всегда работало через /item/id
ниа, grapgql

Sheldhur
13.05.2018
16:59:59
для редактирования обычно POST /item/:id
для создания PUT /item
один хуй разницы

Charles
13.05.2018
17:00:09
наоборот

Sheldhur
13.05.2018
17:00:24
разве?

Charles
13.05.2018
17:00:31
вроде было да
POST должен отдавать 201 created

Sheldhur
13.05.2018
17:01:01
а, да