@nodejs_ru

Страница 2024 из 2748
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:45
Так с маштабируемостью проблем небудет

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

Лол

Andrey ?
17.05.2018
09:26:18
Нутипо, user id который лайк поставил
Не советуйте людям дурных решений, плиз :D

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
Есть его id в массиве или нет
А если лайкнули 100000 пользователей?

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

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

Проходиться по всем постам?

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
Тут это, async/await уже три мажорные версии как есть
мне плевать на него ) мне надо сначала так понять ) это все равно что забить на прототипы и использовать классы )

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?

Alexander
17.05.2018
09:52:26
findOneAndRemove?

Buka
17.05.2018
09:52:28
это о чём?
О 1 потокн в ноде

Плюсы то могут быть мультипоточными

Dmitry
17.05.2018
09:54:01
nginx русский - это слегка КГБшно
исходный код открыт, сборка очень модульная, технологии безопасности используются - мировые.

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

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
чтобы можно было у постов выводить их счетчик сразу вместе с текстом поста и не искать лишний раз лайки
а что мешает получить список постов и select post_id, count(*) from likes where post_id in (ids) group by post_id?

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

Наверное, то, что у него монго (:
а, ну мне для монги запрос написать или чо?)

Sergey
17.05.2018
10:06:55
а что мешает получить список постов и select post_id, count(*) from likes where post_id in (ids) group by post_id?
нафига лишьний запрос делать, когда можно просто выводить уже записанное число )

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

Google
Daniil
17.05.2018
10:07:37
нафига лишьний запрос делать, когда можно просто выводить уже записанное число )
тогда хотя бы юзай транзакции, потому что если у тебя будет ошибка обновления счетчика либо ошибка вставки строки с лайком - будут недостоверные данные

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

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

Sergey
17.05.2018
10:09:10
П - Попытки сделать реляционную БД из монго
просто ее уже подключил давно и переписывать все на герройный sequlize не охото он еще хлеще ...

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
Да и то, с миграциями он вполне вкусный
там пока все настроишь -мозг вытекать начинает, все время муть напридумают что webpack, что sequelize ((

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

Страница 2024 из 2748