Даниил (Onix)
пароль дернул с базы
Alex
значит пароль не 1234)) в @nodejs_ru всё правильно объяснили
Alex
попробуй создать хэш для 1234 и сразу же его проверить
Alex
и сравнить с тем, что в базе лежит
Даниил (Onix)
мне в хэш приходит незаскрипченный пароль
Даниил (Onix)
Разобрался, причина оказалась стандартной - невнимательность.
Anonymous
- Являетесь ли Вы специалистом по SQL? - Нет. - Так и запишем, специалист по NoSQL
Anonymous
господа, а есть инфа как работать с файлами которые mongodump --archive создаёт? как прочитать отдельную коллекцию оттуда? есть какая-нибудь библиотека или API
Dmitriy
это не подходит: https://docs.mongodb.com/manual/reference/program/mongorestore/ ? можно чистать отдельную коллекцию
yopp
4.0.10 (May 31) ◦ 3.6.13 (June 10) ◦ 4.2.0-rc1 (Jun 19) События: • 10 июля, Москва, Первый митап нашего чята: MongoDB Meetup #1 (Бесплатно) • Плейграунд для запросов • Документация • Официальные курсы по MongoDB Stable: 4.0.10 | Bugfix: 3.6.13 Legacy: 3.4.21 (Jun 12) | Dev: 4.2.0-rc0 (Jun 19) End of life: 3.2.21 (Dec ’18), 3.0.15 (May ’17)
yopp
Напоминаю что всего через две недели, 10 июля, в Москве пройдёт первый митап нашего сообщества — MongoDB Meetup #1 Слава (@victor3) расскажет о том, почему не все транзакции одинаково полезны, а я об инструментах для масштабирования Можно придти ногами, а можно посмотреть онлайн трансляцию. Записывайтесь тут: https://db-ai.timepad.ru/event/1002648/
Даниил (Onix)
Друзья, всем привет. Я тут кое-что искал по монге, нашел, но наткнулся на предложение на английком и не до конца его понял. Помогите перевести праивльно (речь про удаление всех записей в бд): db.user.remove({}) However, if you definitely want to remove everything you might be better off dropping the collection. Though that probably depends on whether you have user defined indexes on the collection i.e. whether the cost of preparing the collection after dropping it outweighs the longer duration of the remove() call vs the drop() call.
Даниил (Onix)
Я не очень понял почему коллекцию дропать выгоднее
yopp
Я не очень понял почему коллекцию дропать выгоднее
Удаление данных в любой базе данных вычислительно ёмкая и сложная операция: нужно обновить индексы, нужно куда-то деть освободившее пространство или по новому разложить данные и т.д. Удаление коллекции требует всего-то обновить каталог пространства имён и дать файловой системе команду удалить файлы
yopp
Некоторые базы данных не позволяют реально удалять данные, а просто помечают их как удаленные
Даниил (Onix)
yopp
Коллекции удаляются, а не помечаются, как записи, верно?
> Удаление коллекции требует всего-то обновить каталог пространства имён и дать файловой системе команду удалить файлы
Даниил (Onix)
Спасибо большое
Даниил (Onix)
Правильно понимаю что список удалённых записей можно тоже запросом получить?
yopp
Правильно понимаю что список удалённых записей можно тоже запросом получить?
Не забивайте себе голову деталями реализации. В общем случае если вы хотите удалить большую часть записей в коллекци — скопируйте те данные, которые хотите оставить в новую коллекцию и удалите основную коллекцию целиком. Если удаляете небольшой кусок — удаляйте через remove
Даниил (Onix)
Мне в принципе интересна возможность. Вдруг что случайно удалю.
yopp
Удаление невозможно откатить
Олег
как в монге можно реализовать аналогичный функционал, как триггеры в MySQL?
Олег
Никак, подобного функционала не предусмотрено
js скриптами, которые можно в монгу внедрять, это разве нельзя сделать?
Nick
Это далеко не триггеры и тем более без гарантий
Александр
Nick
И вообще перенос бизнес логики в бд это не комильфо
Nick
Обходные пути просты - транзакции либо корректировать логику чтобы не зависеть от наличия триггеров
Олег
есть вещи, которые лучше делать максимально близко к БД, либо в ней
Nick
Это ошибочное мнение относительно монги,и т.к. Нет возможности получить данные старого дока до модификации, ка это было бы при обращении в триггере, и оно всеравно выльется в отдельный запрос, который нужно будет делать в транзакции, чтобы добиться атомарности
Олег
в предыдущем комменте не было речи про монгу про монгу просто уточнял
Nick
В общем случае фраза про ближе к бд имеет значение только для работы одновременно с данными предыдущего и нового состояния строки, а все остальное это тупо размазывание логики в сторону бд
Nick
в предыдущем комменте не было речи про монгу про монгу просто уточнял
Расскажите лучше какую конкретео задачу вы пытаетесь решить триггером
Олег
Расскажите лучше какую конкретео задачу вы пытаетесь решить триггером
например есть 2 коллекции, одна с пользователями, другая с транзкциями при зписи трнзакций, нужно изменять баланс пользователя .... простецкая задача, в MySQL решается триггером, НО, он для нс уже медленный
Nick
Ожидаемо задача не ддя триггера, а просто перенос логики
Nick
Тоже самое точно так же делается в два запроса внутри транзакции
Nick
И в mysql тоже, только там транзакция неявная, но она есть
Josh
ткните плз как аля триггеры сделать в монге, перевел в реплику уже где-то видел по-красоте событийно ловились изменения в коллекциях
Josh
а пока вижу оплог флуд, не в него ж долбится с интервалом, шило на мыло выйдет, как-нть с бд получить и обработать
Josh
@dd_bb подскажинам, а, мне для разгрузки архитектуры удобно было бы на триггер повеситься
Nick
о тот же вопрос
Тогда читайте ответы выше про триггеры
Nick
Возможно вам помогут стримы, если нужно реагировать на события https://docs.mongodb.com/manual/changeStreams/
Nick
Никак, подобного функционала не предусмотрено
Josh
да как так то, какого "такого"
Josh
https://docs.mongodb.com/stitch/triggers/
Josh
вон скок всего
Josh
всякие приоритеты, транзакции, нахренаверчено вагон, можно че-нть придумать наверняка а конкретно мне надо просто избавится от долбежки с интервалом дискретным
Nick
Ознакомтесь сначала с https://docs.mongodb.com/stitch/
Nick
Это не про саму монгу
Josh
вижу, серверлес модный, но че-т из пушки
Josh
вот банально видел на днях где-то, прям в пару строчек повесились на изменение документа в монгусе и все
Josh
как-то суперлегко делается, но долблюсь в глазки и не вижу
Nick
Э не друг, монгус это своя вселенгая со своими правилами и это нужно явно указывать что разговор про него
Josh
https://www.npmjs.com/package/oplog-transform что-то типа такого видел, но сразу с коробки в монгус
Олег
с монтусом проще, там есть хуки, но это не всегда то что нужно
Nick
По монгусу особо не помогу в таких деталях
Josh
с монтусом проще, там есть хуки, но это не всегда то что нужно
как они реализованы? с бд приходит отмашка ведь?
Nick
с монтусом проще, там есть хуки, но это не всегда то что нужно
А хуки эти с транзакциями гормально работают?
Олег
А хуки эти с транзакциями гормально работают?
они там насколько я знаю, никак не зависят от транзакций, они там на уровне обертки реализованы
Олег
как они реализованы? с бд приходит отмашка ведь?
да, там при наличии реплики, можно слушать изменения в БД
Josh
в реплику я уже перевел, писал
Олег
в монгусе где-то описано про это, watch кажется
Promise.all([🥚, 🥚,
Привет, может кто-нибудь поможет, долго с этим мучаюсь: Есть коллекция улучшений, документы которой это просто информация о улучшениях
Олег
https://mongoosejs.com/docs/api.html#model_Model.watch
Promise.all([🥚, 🥚,
Promise.all([🥚, 🥚,
В каждом документе коллекции пользователей есть массив улучшений, который содержит ссылку на соответствующее улучшение(info), и текущее количество купленных пользователем улучшений(count).
Promise.all([🥚, 🥚,
Promise.all([🥚, 🥚,
Проблема в том, что цена на покупку очередного улучшения рассчитывается с помощью функции(цена растет в определенной прогрессии)
Promise.all([🥚, 🥚,
Promise.all([🥚, 🥚,
Сейчас мой алгоритм покупки улучшения состоит из двух запросов: в первом я получаю количество данного улучшения пользователя и информацию о нем, и только вторым запросом я инкрементирую количество при условии, что баланса достаточно
Promise.all([🥚, 🥚,