Nick
большой плюс что оперция с out будет выполняться полностью на монге без перекидывания данных через клиента
Nick
ест ьеще $merge если данные надо именно добавит ьк существующим https://docs.mongodb.com/manual/reference/operator/aggregation/merge/
𝕹𝖚𝖗𝖇𝖎𝖞
Как остортировать по вложенному полю(mongoose)?
𝕹𝖚𝖗𝖇𝖎𝖞
const todoList = await UserTask.find({ user: userId }) .populate('task') .sort({ isTagged: -1 }) Не срабатывает, и .sort({ 'task.isTagged': -1 }) тоже, как и .populate({path: 'task', options: {sort:{isTagged :1}}})
𝕹𝖚𝖗𝖇𝖎𝖞
Кучу комбинаций sort и populate перепробовал
Dr
Парни, а кто чем бэкапит шардированные сервера? 600 Гб база, 6 шардов по 4 ноды, на каждом ещё и Vormetric (encryption in rest)
Гена
всем привет нужно посчитать рост бд но я не пойму по какому алгоритму монга сжимает данные за 14 дне storage size вырос на 10гб получается 20гб в месяц и 240гб в год
Гена
что то многовато
Гена
может имеет смысл сравнить коэффициент сжатия и ориентироваться на него ?
Дамир
Ребят вам часто пишут боты с этого чата?
Дамир
Бот
Дамир
Админы есть тут?
Дамир
@Klepikov_den смело можете репортить чувака.
Serhii
+++
Serhii
@Klepikov_den смело можете репортить чувака.
Дамир
блин я его зарепортил уже.. типа - Hello - How are you doing при этом не важно что ты ему ответил до этого... сам напиши ему, он те ничего не ответит или фигню напишет
Дамир
это не первый раз кстати.. в результате потом выяснится что предлагают в крипту вложиться и получить бузумную прибыль... Обычно так, с данным индивидом я не в курсе.
Дамир
Народ сделайте скрин, кто не зарепортил чувака еще, не думаю что он мне 1 написал
Serhii
Ну вот и у меня тоже
Serhii
Hello
Serhii
Здравствуй
Serhii
Я в порядке, а ты
Serhii
А я в тебе
Serhii
Так ты точно в порядке?
Serhii
да
Serhii
Вы занимаетесь биткойн-бизнесом?
Serhii
А вы?
Serhii
Закончим этот холивар не по теме
yopp
Если ещё кто-то будет писать, кидайте форварды в личку
Дамир
Договорились. Мне часто пишут... хз почему. :(
Дамир
Всем хорошего продуктивного дня, удачи.
yopp
^^^
снепшоты с hidden ноды
Dr
Если снепшотом, то зачем тогда вообще hidden нода...
Dr
Снепшот LVM или внешний, для инстанса в облаке?
yopp
Если снепшотом, то зачем тогда вообще hidden нода...
чтоб не выдёргивать снепшоты на продуктивных нодах
yopp
LVM имеет свойство ломаться
yopp
а сломавшийся LVM обычно череват сломавшимся разделом и выводом ноды на обслуживание
yopp
если облачная инфраструктура позволяет делать снепшоты, то не факт что они без деградации производительности делаются
yopp
ну и последнее: с hidden нодами ещё как-то можно собрать консистентый view шарда для бэкапа
yopp
самое надёжное решение это конечно ops manager
yopp
но это очень дорого
yopp
но когда 6 шардов, наверное не так дорого :)
Dr
LVM имеет свойство ломаться
Я встречал рекомендацию вообще не использоваться LVM под хранилище Монго, потому что, мол, из-за особенностей снепшотов и дальнейшего Copy-on-Write файловая начинает очень сильно тормозить
vxfil
подскажите пожалуйста можно ли хранить тип данных set в бд ?
vxfil
массив типо?
да, я уже нашел что только map можно
Sardor
Всем привет! Ребят, подскажите, пожалуйста, как можно искать одну строку в нескольких других? Причем не по-отдельности, а соединить те три строки. Пример: У меня есть фио в одной строке и в БД фамилия, имя и отчество в трех разных строках. Поиск по $or добавил, находит, когда юзер вбивает или фамилию, или имя, или отчество. Но это, по понятным причинам, не работает с двумя параметрами (ф+и, и+о, ф+о)
Sardor
мне кажется, что тогда легче добавить по свойству в каждый документ, которое будет состоять из тех трех строк, разве нет?
Viktar
у меня поиск был посложнее, плюс важна была скорость.
Viktar
когда у вас 500млн записей то нет)
Denis
подскажите пожалуйста можно ли хранить тип данных set в бд ?
Если будешь всегда делать не $push а $addToSet то будет тебе set
vxfil
Если будешь всегда делать не $push а $addToSet то будет тебе set
а смогу ли я на фронте с ним как с Set работать?
Viktar
Если будешь всегда делать не $push а $addToSet то будет тебе set
если я не ошибаюсь, адТуСет так себе работает с объектами, там порядок тоже будет важен. Могут получится дубликаты
vxfil
имею ввиду можно ли будет вызвать методы типа size, has?
Joe
а смогу ли я на фронте с ним как с Set работать?
У тебя на фронт все данные по сути в виде чистого текста уходят. Укажи, что ожидаемый тип ответа Сэт и дергай Сэт
vxfil
а что можно в дефолтном значении к схеме указать?
vxfil
У тебя на фронт все данные по сути в виде чистого текста уходят. Укажи, что ожидаемый тип ответа Сэт и дергай Сэт
https://mongoosejs.com/docs/api.html#mongoosearray_MongooseArray-addToSet это? то есть дефолтное значение должно быть массивом все таки?
Joe
Насколько я знаю монго только и понимает объект и массив в качестве типов полей. Всяких мапов сэтов у него нет. А аТуСэт это метод, который позволяет имитировать сэт через массив.
Joe
https://www.tutorialspoint.com/mongodb/mongodb_datatype.htm
vxfil
Я вовсе говорил о фронте
понял, спасибо большое
Sardor
Ребят, Монга так шутит надо мной или что?) await app.db.collection('admins').updateOne( { login: login }, { $set: { name: name, position: position, login: login, password: passHash }, $setOnInsert: { role: 'employee', dorm: req.session.dorm } }, { upsert: true } ) — тут она в существующем документе обновляет role и dorm , хотя эти поля записаны в $setOnInsert. Этот оператор ведь должен записывать поля только при инсерте, разве я неправ?
Sardor
Не совсем верно понял видимо. СэтОнИнсёрт срабатывает при upsert: true и подставляет эти значения ТОЛЬКО ЕСЛИ значения ВСТАВЛЯЮТСЯ
Т.е. когда их нет, верно? В моем случае изменяются существующие данные т.е. эти поля уже определены, и перезаписываются
Joe
Т.е. когда их нет, верно? В моем случае изменяются существующие данные т.е. эти поля уже определены, и перезаписываются
Ну да. Сэт делает свое. СэтОнИнсерт свое - устанавливает, при добавлении нового документа
yopp
If the update operation does not result in an insert, $setOnInsert does nothing.
Sardor
так, спасибо всем за отклик, сейчас все работает как надо. Видимо, вчера сам где-то лажал:)
Nick
когда у вас 500млн записей то нет)
расскажите про вашу задачу, интересно послушать в чем заключалось и как решали и если была монга, то какую роль на нее перекладывали
Viktar
расскажите про вашу задачу, интересно послушать в чем заключалось и как решали и если была монга, то какую роль на нее перекладывали
Задача простая. Каталог. Монго держит данные каталога. Просто данных много и структура разная, поэтому приняли решение делать на монге. В то время было модно, молодежно, популярно