no
Понял)
Yelshat
всем привет. Вопрос не технический: имеет смысл проходить экзамен на c100dev по mongo? с сертификатом живётся лучше? и какой у него срок годности? про срок годности нигде не нашел =( Заранее спасибо за ответы
Sardor
А сдавал когда то , срока нет , сертификат привязан к определённой версии монго
Sardor
Если сдавали во время версии 3.0 то на версию 4.0 уже надо заново сдавать если хотите быть в тренде
Sardor
А так всем насрать на этот сертификат
Sardor
Yelshat
Спасибо. Думаю, вы мне сэкономили 150 баксов в кризисное время =D
Yelshat
с другой стороны мажорные релизы mongo и не так резво выходят
Alexander
Сертификаты это последнее, что мне интересно, когда я нанимаю людей.
Alexander
Alexander
А вот попытки рассказывать про сертификаты — минус. Нужны знания, а не бумажки.
Kirill
Alexander
Yelshat
так видите ли, экзамен то на то и создан, чтобы проверить знания по материалу
Yelshat
чтобы его сдать, знания всё-таки нужны
Alexander
Слишком уж много случаев, когда у человека есть сертификат, но нет знаний.
Yelshat
тот сертификат, который я выше упомянул, он не за прохождение курса даётся, но за сдачу экзамена
Alexander
Экзамен это на заучивание же.
Alexander
К сожалению нет.
Alexander
Поспрашивайте людей, которые собеседовали людей с сертификами AWS. Это боль и страдания.
Yelshat
Экзамен это на заучивание же.
сомнительно как-то, со стороны будущего сотрудника как-то бессмысленно выглядит платить $150 за то, чем он в действительности не умеет пользоваться
Alexander
Alexander
И на мой взгляд, это надо пресекать на корню.
Alexander
Потому и имею такое отрицательное отношение к этим всем сертификатам.
Yelshat
я бы скорее, как job seeker, рассматривал сертификат как способ акцентировать вопросы именно на той технологии, на которую этот сертификат указывает =)
Alexander
Тут уже зависит от способа построения собеседования. Я не концентрируюсь обычно на чём-то одном. Мне нужно понять, что человек знает и умеет в общем, а времени у нас не так много (даже с учётом того, что у меня долгие собеседования).
Alexander
И мне всё же кажется, что ищут людей под конкретные требования. От них и надо отталкиваться, а не от того, какой экзамен человек сдал.
Гена
всем привет
подскажите, может кто-нибудь сталкивался с таким
мне нужен запрос который бы прогонялся на ноде в кластере/реплике и вызвращала что то типа "я в скинке" или "я не в синке"
чтоб вывод инфы был конкретно по ноде в которой запрос запущен
Андрей
Гена
это какой то Nagios))
Андрей
check_mongodb.py -H ip:port -u <user> -p <pass> -A replication_lag
Гена
это скрипт питоновский ?
Андрей
это какой то Nagios))
Он не обязателен. Передаете скрипту параметры и вывод в файл например либо забираете из stdout
Андрей
yopp
yopp
по-умолчанию все запросы будут отставать
yopp
с использованием readconcern majority можно гарантировать что результат запроса был построен по гарантированному состоянию базы данных на определённый момент
yopp
для всех остальных запросов гарантии того что у вас результат привязан к целостному представлению не будет
Гена
я нашел способ
сейчас покажу
Гена
--eval "rs.status().members.forEach( function(z) { if (z.state == 0 || z.state > 2 && z.state != 7) {printjson(z.name + \" - \" + \" is \" + \"either DOWN or There is a GAP\")} else {printjson(z.name + \" - \" + z.stateStr + \" is \" + \"SYNCED\")}})" |grep $PORT | grep "DOWN"
Гена
получается он грепает нужный порт, и если он даун то показывает его
Гена
можно еще | wc -l в конце добавить и он покажет 1 или 0
yopp
storage view вашего запроса и вашего скрипта не будет совпадать
yopp
лаг меньше секунды в принципе невозможно встроенными инструментами определить, так как временная отметка операции в оплоге ограничена в разрешении одной секундой
Гена
yopp
а, тьфу
yopp
я неправильно прочитал что вам нужно к запросу добавить флаг был он сделан против последних или неполных данных
yopp
меньше 1 секунды — встроенными средствами всё равно невозможно
yopp
до одной секунды https://docs.mongodb.com/manual/reference/method/db.getReplicationInfo/#db.getReplicationInfo
yopp
timeDiff
Гена
ну не, я рассматриваю случаи когда
1. Нода повисла в статусе Recovery
2. Нода startup 2
yopp
state ноды ничего о размере лага не говорит
Гена
я это понимаю
Гена
мне нужен стейт именно. Сорри что запутал
Андрей
yopp
Посчитать можно только взяв replSetGetStatus и оттуда посчитав разницу между optimeDate на Primary и Secondary
Андрей
Зачем велосипед изобретать, когда все уже украдено до нас)
yopp
но ещё раз повторю: этот метод не позволяет определить что есть лаг меньше 1 секунды
Гена
Ilya
я сделал aggregate и получил следующую структуру:
Ilya
как можно избавится от этой вложенности?
Ilya
через [0]._id?
Ilya
ребят, а есть какой то ресурс где могут за деньги объяснить как правильно работать с aggregate?))
Konstantin
https://docs.mongodb.com/manual/reference/method/db.collection.aggregate/
Ilya
это я читал, но для своих задач не понимаю как применить
Roman
Проще понять будет, если сам запрос скинете
Ilya
await Task.aggregate([
{
$match: {
project: mongoose.Types.ObjectId(project),
updatedAt: {$gte: new Date(fromDate), $lte: new Date(toDate)},
times: {$ne: []},
}
},
{
$group: {
_id: "$times",
}
},
])
Ilya
вот мой запрос
Ilya
Ilya
вот 1 документ
Roman
А что делает group? То есть, он то группирует, но для чего, нету же аккумуляторной функции
Ilya
мне нужно вывести только times и плюс сделать populate для user внутри times: [] и если это возможно, в этот же объект times[0] подсадить поле project которое находится на верхнем уровне
Ilya
блин, я думал что group будет заиспользовано для того чтобы избавится от других полей в выборке, чтобы получить только массив times из всех документов
Roman
Есть такая программа как studio3T, там есть редактор aggregation, который позволит поэтапно работать с аггрегацией.
Он платный, но с триальной версией на месяц
Roman
Ilya
о, спасибо, ща скачаю