d
Странный запрос, зачем там $and?
несколько условий, но мне уже подсказали, что можно и без него
d
без него работает. но так же тоже должно
d
я поискал по чату - был такой вопрос уже пару раз
Андрей
{"_id": {$in: ...}, "approved": true}
d
{"_id": {$in: ...}, "approved": true}
да, но все же с $and валидно?
d
должно быть
Daniil
да, но все же с $and валидно?
да, эти записи эквивалентны
Daniil
посмотрите во что в итоге превращается ваш запрос перед отправкой в базу
d
да, эти записи эквивалентны
а вы можете построить запрос с $and + $in вместе и чтоб работал?
d
тут уже у ребят не раз были с этим проблемы
d
у меня вот пока чето не получилось
Daniil
а вы можете построить запрос с $and + $in вместе и чтоб работал?
так вы в консоль просто введите такой же как у вас запрос
Daniil
он рабочий
Daniil
где то ваш драйвер мб что то портит
d
это в jetbrains консоли
d
кароче не работает только через идею, через mongo cli нормально хавается
Dr
Зарегился в английской группе про Монго, и это п...ц. Одни вопросы от индусов типа "я новичок, как мне монгу поставить". И скриншоты, сцуко, ошибок с Винды.
Dr
И я не шучу
Dr
Nick
кароче не работает только через идею, через mongo cli нормально хавается
трекер идейки открыт для всех - создавай багу, это нормально для них
yopp
И я не шучу
В обеих наших группах принято уважительно относитьсья к новичкам
Denis 災 nobody
а использует кто мониторинг от https://cloud.mongodb.com/?
Denis 災 nobody
что-то он мозг полощет...
Dr
так в чем проблема? помоги им
Одному помог, но когда вопросы идут сплошь простейшие, доступные по первой же ссылке в стековерфлоу, это здорово понижает общий уровень.
yopp
Одному помог, но когда вопросы идут сплошь простейшие, доступные по первой же ссылке в стековерфлоу, это здорово понижает общий уровень.
Все начинали с нулевого уровня. Знаете как найти ссылку на правильный ответ на вопрос? Найдие, прооверьте что ответ там правильный, не устаревший и дайте прямую ссылку. Отправление в гугл (а ещё хуже в lmghty) может привести к перманентному RO. Всё остальное — токсичное поведение в отношении новичков, которое никому не помогает.
Dr
При этом околонулевое количество ответов на вопрос "кто что использует для бэкапирования шардированного кластера, помимо mongodump/snapshots" наталкивает на мысль, что никого кроме новеньких там нет. (
Антон
Привет. Пытался выполнить merge, но спустя минут 20 словил "errmsg" : "operation was interrupted", "code" : 11602, "codeName" : "InterruptedDueToReplStateChange" локально все норм отработало, а вот на удаленной базе выкидывает это. Где можно про это почитать? скорей всего дело в базе и ее надо настроить, или можно как-то со стороны запроса это пофиксить?
Антон
выполнял все это через java драйвер. может в нем дело?
Dr
yopp, тем временем в параллельном чате один спрашивает, почему ему не законнектится к локалхосту, а другой на это рекомендует...закомментировать bindip с localhost в конфиге. 🤦‍♂️ А потом удивляетесь, чего я негодую.
Dr
А кто вам сказал, что я там не помогаю?
Dr
Тем не менее, разница между чатами очень разительна - о чём и говорю.
Oleg
кстати о выборах, почыему они помгут происходить в отсутсвие нагрузки (по метрикам операционной системы) ?
yopp
Или изменение конфигурации
Oleg
связанность - это проблемы уровня сети. маловероятно - ноды внутри одного vlan-а. единственное пока предположение - лимит коннектов, может на уровне операционной системы.
Dr
JFYI, по умолчанию таймаут 10 секунд
Dr
С heartbeat каждые 2 секунды
Dr
Мониторинга у вас вообще никакого нет? Количество коннектов и его ограничение обычно хорошо видно
Oleg
сейчас.. подготовлю логи вот к примеру первая из трех нод. https://pastebin.com/raw/UhRJAU4k смена была в 2020-09-29T10:38:56.016+0300
Oleg
даже менее тысячи коннектов, потом они ломанулись на ставшую примари ноду2
Oleg
всё. да, видна теперь причина. это нода2 которая приняла примари https://pastebin.com/raw/4GdVmG8S
Tonylook
I think I have to use $group on userId but I don't know exactly how
Max
Привет, чувствую себя наркоманом, но как такое возможно - в одном документе два одинаковых ключа? по поиску проверял - оба ищутся Как такое ввозможно?
Nemo
это ж монга.
Nemo
ей вобще пох на нарушение всех запретов
Nemo
ХД
Nemo
created_at: 2020-09-29T12:25:19.370+00:00 как указать время с Uts +3
Max
ей вобще пох на нарушение всех запретов
но это же словарь... такого быть не может, я проверял - там симовлы одинаковые
yopp
битый документ
yopp
в bson можно добавить несколько раз поле с одним ключом
yopp
более того, не помню чтоб спецификация это запрещала :)
Max
в bson можно добавить несколько раз поле с одним ключом
первый раз слышу такое, спасибо. спеку не читал, честно. а как тогда с такими полями работает монга? какое выбирает первым?
Nemo
но это же словарь... такого быть не может, я проверял - там симовлы одинаковые
что за словарь и быть не может. ето ж не реалиционная бд. ей вобще пох что ти пишеш. указал в поле ref какую дичь другую - сойдет) монге пох ваще. этот реф вобще по факту для того что бы можно было сделать aggregate
yopp
первый раз слышу такое, спасибо. спеку не читал, честно. а как тогда с такими полями работает монга? какое выбирает первым?
это просто спецификация криво написана, подразумевается что ключ может быть только один раз
Viktar
в bson можно добавить несколько раз поле с одним ключом
Можно. Как раз на прошлой неделе наступил на эти грабли
yopp
но это некорректное поведение
Viktar
но это некорректное поведение
Да. Многие драйверы это разруливают правильно, но некоторые просто делают, то что просишь. В частности Сишный.
yopp
все записи в bson хранятся последовательно, по сути 0x{type_tag} key_name(cstring) value(bytes*) в процессе сериализации дорого и сложно проверять есть ли в текущем скоупе ключ с таким именем, так как это потребует парсить недописанный документ по новой
Антон
ReplStateChange это скорее всего в кластере выборы произошли. Посмотрите в логах. Возможно из-за высокой нагрузки merge у вас primary не успевает рассылать heartbeats другим нодам и они решают что он упал.
нашел такое "REPL [rsBackgroundSync] Choosing primary as sync source candidate:" а до этого идет много "end connection" я так понимаю переключение было. и как такое обработать можно?
yopp
сложный — попробовать мержить батчами
yopp
если данные позволяют
Антон
сложный — попробовать мержить батчами
у меня в запросе есть 'cursor' : { 'batchSize': 5000 } это не то?
Nemo
народ как хранить в монге дату. и добавляет дату с 0 таймзоной. или с таймзоной сервера или чего другого?)
yopp
это количество документов которые за одну команду getMore может вернуть курсор
Nemo
и как потом эту таймзону накручивать на всю выборку из 10 айтемов например
Антон
это количество документов которые за одну команду getMore может вернуть курсор
а где можно прочитать про мерж батчами? это как-то в запросе можно указать? у меня в целом проблема, что мне надо перенести 21 млн записей из одной коллекции в другую. пагинацию использовать не могу, т.к. потом запрос обрабатывается очень долго
yopp
в другой коллекции уже есть документы?
Dr
всё. да, видна теперь причина. это нода2 которая приняла примари https://pastebin.com/raw/4GdVmG8S
Это не причина, это следствие. :) А вот почему за 10 секунд таймаута до выборов у вас не прошли heartbeats, при том что вы в одной сети, как говорите, вот это вопрос.
yopp
в исходную коллекцию документы не добавляются?
Антон
из которой я хочу перенести документы? нет в которую я хочу скопировать - добавляются