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 смело можете репортить чувака.
yopp
Дамир
блин я его зарепортил уже..
типа
- Hello
- How are you doing
при этом не важно что ты ему ответил до этого... сам напиши ему, он те ничего не ответит или фигню напишет
Дамир
это не первый раз кстати.. в результате потом выяснится что предлагают в крипту вложиться и получить бузумную прибыль... Обычно так, с данным индивидом я не в курсе.
Дамир
Народ сделайте скрин, кто не зарепортил чувака еще, не думаю что он мне 1 написал
Serhii
Ну вот и у меня тоже
Serhii
Hello
Serhii
Здравствуй
Serhii
Я в порядке, а ты
Serhii
А я в тебе
Serhii
Так ты точно в порядке?
Serhii
да
Serhii
Вы занимаетесь биткойн-бизнесом?
Serhii
А вы?
Serhii
Закончим этот холивар не по теме
yopp
Если ещё кто-то будет писать, кидайте форварды в личку
Дамир
Договорились. Мне часто пишут... хз почему. :(
Дамир
Всем хорошего продуктивного дня, удачи.
Dr
yopp
^^^
снепшоты с hidden ноды
Dr
Если снепшотом, то зачем тогда вообще hidden нода...
Dr
Снепшот LVM или внешний, для инстанса в облаке?
yopp
yopp
LVM имеет свойство ломаться
yopp
а сломавшийся LVM обычно череват сломавшимся разделом и выводом ноды на обслуживание
yopp
если облачная инфраструктура позволяет делать снепшоты, то не факт что они без деградации производительности делаются
yopp
ну и последнее: с hidden нодами ещё как-то можно собрать консистентый view шарда для бэкапа
yopp
самое надёжное решение это конечно ops manager
yopp
но это очень дорого
yopp
но когда 6 шардов, наверное не так дорого :)
Dr
LVM имеет свойство ломаться
Я встречал рекомендацию вообще не использоваться LVM под хранилище Монго, потому что, мол, из-за особенностей снепшотов и дальнейшего Copy-on-Write файловая начинает очень сильно тормозить
vxfil
подскажите пожалуйста можно ли хранить тип данных set в бд ?
Vova
Sardor
Всем привет! Ребят, подскажите, пожалуйста, как можно искать одну строку в нескольких других? Причем не по-отдельности, а соединить те три строки.
Пример: У меня есть фио в одной строке и в БД фамилия, имя и отчество в трех разных строках. Поиск по $or добавил, находит, когда юзер вбивает или фамилию, или имя, или отчество. Но это, по понятным причинам, не работает с двумя параметрами (ф+и, и+о, ф+о)
Viktar
Всем привет! Ребят, подскажите, пожалуйста, как можно искать одну строку в нескольких других? Причем не по-отдельности, а соединить те три строки.
Пример: У меня есть фио в одной строке и в БД фамилия, имя и отчество в трех разных строках. Поиск по $or добавил, находит, когда юзер вбивает или фамилию, или имя, или отчество. Но это, по понятным причинам, не работает с двумя параметрами (ф+и, и+о, ф+о)
я такую задачу решал через эластик сёрч. т.е. искал не в самой базе. а с базы уже доставал по ид
Sardor
Sardor
мне кажется, что тогда легче добавить по свойству в каждый документ, которое будет состоять из тех трех строк, разве нет?
Viktar
у меня поиск был посложнее, плюс важна была скорость.
Sardor
Viktar
когда у вас 500млн записей то нет)
vxfil
Joe
Всем привет! Ребят, подскажите, пожалуйста, как можно искать одну строку в нескольких других? Причем не по-отдельности, а соединить те три строки.
Пример: У меня есть фио в одной строке и в БД фамилия, имя и отчество в трех разных строках. Поиск по $or добавил, находит, когда юзер вбивает или фамилию, или имя, или отчество. Но это, по понятным причинам, не работает с двумя параметрами (ф+и, и+о, ф+о)
Можешь использовать индекс text и соответствующий запрос https://docs.mongodb.com/manual/core/index-text/
vxfil
имею ввиду можно ли будет вызвать методы типа size, has?
Denis
vxfil
а что можно в дефолтном значении к схеме указать?
Sardor
Joe
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. Этот оператор ведь должен записывать поля только при инсерте, разве я неправ?
Joe
Ребят, Монга так шутит надо мной или что?)
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. Этот оператор ведь должен записывать поля только при инсерте, разве я неправ?
Не совсем верно понял видимо.
СэтОнИнсёрт срабатывает при upsert: true и подставляет эти значения ТОЛЬКО ЕСЛИ значения ВСТАВЛЯЮТСЯ
Sardor
Joe
yopp
yopp
If the update operation does not result in an insert, $setOnInsert does nothing.
Sardor
так, спасибо всем за отклик, сейчас все работает как надо. Видимо, вчера сам где-то лажал:)
Nick
когда у вас 500млн записей то нет)
расскажите про вашу задачу, интересно послушать в чем заключалось и как решали и если была монга, то какую роль на нее перекладывали