Alexander
Можно использовать Date().
Aleksandr
при апдейте с апсертом можно, но там нужен ключ, а у меня вдруг инсерт-онли коллекция
Alexander
🙂
Dmitriy
new Date()
Aleksandr
это будет время апи
Aleksandr
ну, клиентское короч
Aleksandr
спросил по-нормальному же
Alexander
Но в целом, тебе есть разница?
Aleksandr
чо опять флудить
critskiy
Нет, так не работает. Вернее работает, но не всегда.
1. Это дополнительная трата времени. Если проект прошёл ревью, теоретически должен работать и на стейджинге всё хорошо, то скорее всего его можно в прод. Само собой, с оценкой критичности косяка (фитчатогглы, всякие, тут пригождаются).
2. Полноценно повторить нагрузку, идущую от реальных пользователей, возможно далеко не всегда. Т.е. тестирование всё равно будет синтетикой.
Потому, обычно мы просто хреначим в прод. Как минимум, это весело.
По моему опыту, проблемы с таким подходом бывают. Иногда даже болезненные. Но в целом, они происходят не так часто, чтобы перевестить упрощение процессов.
весело веселооо (очень весело особенно 2 января с бодуна ночером профилировать базу, ага 😅), но в принципе оки-доки)
Alexander
Alexander
Хотя у меня была традиция, последнюю выкатку в году запускать из бара... Один раз огребли. Да, было весело!
Avtandil
Привет всем. Я новенький в моного. Не соображу как обновить документ.
Структура документа:
{
_id: '1234',
services: [{
_id: '56789',
dates: [ 01.01.2020, 02.01.2020 ]
}]
}
Используя findOneAndUpdate() как я могу в массив dates добавить запись? Как записать правильный фильтр?
Спасибо за помощь !
yopp
Avtandil
Denis
Вечер добрый. Можно сгенерировать _id новый для вложенного документа?
Чтобы не Oid получить а просто новый id?
Denis
а
Хорошей пятницы. Вопрос:
[
{
"$lookup": {
"from": "someData",
"let": {
"dataList": "$dataList"
},
"as": "data",
"pipeline": [
{
"$match": {
"$expr": {
"$in": [
"$_id",
"$$dataList"
]
}
}
},...
]
}
}
]
Есть документ. в котором есть List<ObjectId> dataList (с айдишникаи другого документа someData)
В случае, если dataList=null (отсутствует в json) - я по понятным причинам огребаю:
"$in requires an array as a second argument, found: missing"
а) Как разруливать такое? Нормально будет сделать ifNull: [] (типа такого)
б) Возможно не лукапом можно это делать а какой-то другой функцией итд? Reduce?
Гена
Коллеги, такой вопрос.
Клиент обновил версию драйвера с 3.6.4 на 3.11.2
И при апдейте документов, которые были созданы на старом драйвере вылазит ошибка OptimisticLockingFailureException
а с доками которые на новом драйвере всё ок.
Версия монги 3.4.9
Андрей
Всем привет) Как вывести все айдишники из базы массивом? не такого вида:
[{uid: 112121},{uid:433232}]
а таким:
[1122121,23432434,454656]
Nick
Гена
Sargis
Всем привет, кто-нибудь делал шардинг монго, какие книги или ресурсы посоветуйте?
Гена
Volodymyr
mongodb university. Бесплатные курсы от создателей. Есть курс для разработчика и для дибиэй
Serhii
Вопрос, реально ли что при добавлении в колекциию составного индекса с (1 дата и 3 ObjectId) скорость выборки увеличится в 1.5к раз, а вставки на 30%? Количество записей в бд 40 млн.
madspectator
В полторы тысячи раз?
Serhii
В полторы тысячи раз?
сам в шоке, была агрегация которая отрабатывала 30-35 сек, после добавления составного индекса, по полям которого идет первы $match агрегации, скорость сократилась к 10-20мс
Serhii
самое странное что при этом и вставка стала быстрее
Alexandr
Serhii
я как бы был уверен что скорость вставки упадет, но на 500 последовательных одиночных вставок, средгняя скорость без индекса 2.9 мс против 1.9 мс с индексами
Serhii
при этом вставка по от 1к до 10к за раз с индексами медленнее
Илья
а вставка / чтения постоянным потоком?
подозреваю что да, а раз так меньше нагрузка на чтении больше ресурсов на остальное
Serhii
yopp
yopp
Лучше смотреть не на среднее, а на mean и stdev
yopp
Плюс для честного сравнения нужно проверять на холодной базе
Max
А такой вопрос - можно ли кильнуть операцию создания индекса в фоне, а то она все нагрузила и не намерена быстро завершиться и их еще и 4?
madspectator
В монгоконсоли попробуйте: db.killOp(opid)
Max
Ничего плохого не случится?
madspectator
Не знаю, гыгы.
madspectator
Мне кажется, если бы что-то плохое могло случиться, тогда бы killOp не позволял убить операцию построения индекса.
madspectator
Мне кажется, это так работает, сначала индекс полность строиться, потом информация о нём добавляется в мета-данные коллекции.
Anonymous
у меня вопрос, если поставить монго на linux без пользователя, это будет безопасно?
Max
Спасибо ничего не случилось после убийства процесса
madspectator
Serhii
Artem
Всем привет. Такой вопрос. Возможно ли восстановить данные из БД, которые были недавно обновлены?(хоть и маловероятно, что это возможно, но всё же)
Artem
Vladimir
Artem
Каким образом можно загрузить фото в mongoDB через mongoose? Чет гуглю не могу найти
Сергей
Volodymyr
Можно заюзать GridFS в MongoDB
Артем
У меня все было нормально а щас пишет field connect
Артем
С чем это связано?
Артем
Артем
Он у меня на mongoDB.Atlas
Артем
Странно здесь пишет что все работает а в postman не соединяется
Artyom
Всем привет, подскажите , монгосу вообще можно выставить кол-во выделяемой памяти ?
yopp
Сергей
Добрый вечер. Как можно найти кол-во только тех документов, у которых хотя бы одно из перечисленных полей существует?
Пытаюсь так
Сергей
но монга подразумевает, что $x это не поле, а оператор
Назар
Сергей
то же самое
Сергей
Unrecognized expression '$x'
Сергей
на sql это было бы так
select city, model, sum(case when x is not null or y is not null then 1 else 0 end) from xxx
group by city, model
madspectator
А зачем там "$"? В агрегации не знаю, как должно быть, но в обычном find() запросе это будет find({'x': {'$exists': true}})
Сергей
в агрегации через $ идет обращение к полям
Сергей
без $ уже ошибка Unrecognized expression '$exists'
madspectator
Это когда надо получить значение, а вам значение не надо получать.
madspectator
https://stackoverflow.com/questions/41542746/mongoose-aggregate-using-exists-in-cond
Avtandil
Всем привет. Я новенький в nodejs, mongodb. Столкнулся с непониманием при аутентификации. В php при входе на сайт записывал данные о пользователе в глобальный массив SESSION и при каждой перезагрузки страницы обращался к нему и извлекал данные о пользователе. Как и где хранятся данные пользователе в ноде ?
Спасибо за любую информацию.
madspectator
Не знаю, а что мешает вам проверить руками на тестовой коллекции?
Сергей
я проверил, что оно работает. Но мне интересно, нормально ли для $or считать не булевское значение как истину