
Andrey ?
17.05.2018
09:22:35
Для лайков-то

Sergey
17.05.2018
09:22:52
Какое условие?
Схема like работает с колеекцией likes, в которой записывает user id и post id .
И значит когда пользователь нажимает на кнопку лайка в коллекции likes ищется запись строго с id юзера и id поста. Если запись не была найдена, то он записывается и в post увеличивается likeCount +1,
если запись найдена, то запись удалятся и в post уменьшается likeCount -1.

Andrey ?
17.05.2018
09:23:07
async/await?

Iuliia
17.05.2018
09:24:18

Google

Alexander
17.05.2018
09:25:08
Лучше массив юзеров у поста храни

Andrey ?
17.05.2018
09:25:28

Alexander
17.05.2018
09:25:45
Так с маштабируемостью проблем небудет

Andrey ?
17.05.2018
09:25:56

Alexander
17.05.2018
09:26:05
wut
Нутипо, user id который лайк поставил
Лол

Andrey ?
17.05.2018
09:26:18

Alexander
17.05.2018
09:26:28

Andrey ?
17.05.2018
09:26:52
И где минусы?
Как будешь проверять, лайкнул ли уже пользователь запись?

Alexander
17.05.2018
09:26:52
И в каком месте оно дурное,лол
Элементарно

Google

Andrey ?
17.05.2018
09:27:20

Alexander
17.05.2018
09:27:26

Cenator
17.05.2018
09:28:01

Alexander
17.05.2018
09:28:18
Можно конечно хранить post id у обьекта юзера, но парсить это будет жостка

Andrey ?
17.05.2018
09:28:23
А если нужно узнать все записи, которые лайкнул пользователь?
Проходиться по всем постам?

Alexander
17.05.2018
09:28:49

Andrey ?
17.05.2018
09:29:04
Тогда так
А как тогда получать все лайки для поста? Хранить и там и там? :)

Alexander
17.05.2018
09:29:16
post id юзеру, user id посту

Andrey ?
17.05.2018
09:29:29
Какое-то решение уровня монгодб
Не надо использовать массивы для связей, это какое-то решение уровня монгодб)

Sergey
17.05.2018
09:31:12
ок тогда попробую пока так
и чуть позже покажу что не выходит

Andrey ?
17.05.2018
09:34:32
Тут это, async/await уже три мажорные версии как есть
(щас бы использовать монгодб в качестве реляционной БД)

Sergey
17.05.2018
09:35:12

Andrey ?
17.05.2018
09:36:02

Sergey
17.05.2018
09:39:51
вот я пробую найти запись в коллекции лайков
с id поста и id юзера.
если записи нет,
надо ее создать и увеличеть счетчик лайков у поста.
если запись есть
надо ее удалить и уменьшить счетчик лайков у поста.
как потом ловить их промисы хз ...

Google

Andrey ?
17.05.2018
09:40:53
Ну, возвращать промис из ифа и дальше слать ответ
Можно типа [true, здесьпромис] и .spread(liked, _) и в зависимости от liked - выдавать либо ответ о «поставил» или «убрал»

Sergey
17.05.2018
09:42:20
еще я не пойму как мне удалить ту же запись, что я уже нашел в блоке else, ведь там условие - получается мне ее опять надо находить что бы удалить ? )))

Andrey ?
17.05.2018
09:42:41
Зачем её опять находить?
У тебя здесь не юзера вернет
А запись лайка

Sergey
17.05.2018
09:43:47
так как ее удалить запись после успешного поиска ?

Andrey ?
17.05.2018
09:46:45
Почитать документацию mongoose?

Buka
17.05.2018
09:51:24

Alex
17.05.2018
09:52:16

Alexander
17.05.2018
09:52:26
findOneAndRemove?

Buka
17.05.2018
09:52:28
Плюсы то могут быть мультипоточными

Dmitry
17.05.2018
09:54:01

Sergey
17.05.2018
09:54:16
findOneAndRemove?
но там же условие внутри
разве я могу написать туда if (like)
если он сразу удалит запись как найдет
или нет ?

Alexander
17.05.2018
09:55:20

Google

Alexander
17.05.2018
09:55:25
Или .remove
Суть одна жи

Alex
17.05.2018
09:56:44

Denis
17.05.2018
09:59:23
Кто-нибудь знает как в Sequelize в модель добавлять методы, которые работают так же как методы после создания ассоциации?
Вот стандартный метод после ассоциации:
Team.getPlayers(), который возращает всех игроков.
Я хочу иметь методы Team.getDefenders(), Team.getAttackers().

Admin
ERROR: S client not available

Sergey
17.05.2018
09:59:32

Alexander
17.05.2018
10:00:58
Боже
Ты ищешь в записях likes и удаляешь
like.remove() не существует

Daniil
17.05.2018
10:04:15
зачем тебе счетчик лайков помимо записи о лайке?
ты можешь уже и так получить их количество, а если запрос окажется тяжелым - для таких целей существует кэш

Sergey
17.05.2018
10:04:46

Daniil
17.05.2018
10:05:56

Andrey ?
17.05.2018
10:06:22

Daniil
17.05.2018
10:06:29
вот тебе два запроса которые получат и посты и лайки, если не устраивает наличие второго запроса - заюзай мемкеш, который при гете либо забирает у себя инфу либо прогревается

Sergey
17.05.2018
10:06:55

Andrey ?
17.05.2018
10:06:58
Но, вообще, лучше это и впрямь в кеш пихать, не используя счетчики

Alexander
17.05.2018
10:07:08
СЕРЬЕЗНО?

Google

Daniil
17.05.2018
10:07:37

Sergey
17.05.2018
10:07:49

Daniil
17.05.2018
10:08:03
монго, б*дь)

Andrey ?
17.05.2018
10:08:21
П - Попытки сделать реляционную БД из монго

Sergey
17.05.2018
10:09:10

Daniil
17.05.2018
10:09:22
прочитал, с 4 версии только транзакции будут

Andrey ?
17.05.2018
10:09:34
Лучше парить мозг с секвалайзом, чем строить реляционку из монги
Да и то, с миграциями он вполне вкусный

Daniil
17.05.2018
10:09:58
я почему-то думал, что в бд транзакции это прям как отче наш

Andrey ?
17.05.2018
10:10:19

Daniil
17.05.2018
10:10:19
как по мне целостность содержимого монги обеспечивать кодом это дичь

Sergey
17.05.2018
10:11:24

Alexander
17.05.2018
10:12:22
А ты сидишь на firebase и куришь в сторонке ?

Andrey ?
17.05.2018
10:13:00
И, как бы, всё