Nick
Алексей
Nick
Nick
Алексей
Misha
Привет всем
Пробовал ли кто то использовать TypeORM с Mongo?
Мне монгус не оч зашел, ищу что то другое. Если есть успешный опыт с чем то, буду рад услышать)
S
Задеплоил монго дб на сервер, открыл порт и поставил самый базовый пароль. Вот тебе и результат 😂
Сотрудник 236
Что такое "самый базовый" пароль?
Сотрудник 236
Кастомный порт надо было
Nick
Yassine
Hello i want courses in pipelines mongoDb pdf
Yassine
Or videos
Nick
S
Nick
Сергей
в диспетчере задач
Сергей
монга активная когда то и руками не удалить
Сергей
и ротация не помогает-только ребут
Nick
Сергей
Сергей
на сервере нет
Сергей
а вот в этом и проблема- знаний мало по монге) какие логи надо смотреть?)
Nick
Сергей
Nick
на сервере нет
И очевидно надо начать сверять настройки на серверной бд и чем отличается от локального сетапа. В первую очередь конфиг файл и строку запуска сервиса на предмет наличия опции --logRotate
Сергей
Nick
Сергей
ILIA
Коллеги, подскажите пожалуйста, раскатили шардированную монгу, на шарды могу зайти , а на монгос пишет анавтарайзед, в чем может ыть проблема?
Алексей
Ξ
ребят, а апдейт нескольких документов в коллекции (с использованием пайплайна) атомарен вместе для всех документов или только для каждого конкретного (без транзакций если)? в доке есть пример с такой формулировкой, будто атомарен сразу для всех документов, но всегда казалось, что это не так, поэтому не уверен вот
Nick
Makar M.
Привет всем.
db.xxxx.aggregate([
{
$match: {
'request.route': {
$in: []
},
$or: [
{'request.id': {$exists: true, $ne: null}},
{'request.offer_id': {$exists: true, $ne: null}}
]
}
},
{
$project: {
group_id: {
$cond: {
if: {$ne: ['$request.offer_id', null]},
then: '$request.offer_id',
else: '$request.id'
}
},
dt: {
$dateFromString: {
dateString: '$dt'
}
}
}
},
{
$match: {
group_id: {$ne: null}
}
},
{
$group: {
_id: '$group_id',
last_visit_datetime: {$max: '$dt'}
}
},
{
$sort: {last_visit_datetime: -1}
},
{
$limit: 25
}
])
Подскажите пожалуйста, в чём может быть проблема, что $max не берёт последнюю дату?
Nick
Привет всем.
db.xxxx.aggregate([
{
$match: {
'request.route': {
$in: []
},
$or: [
{'request.id': {$exists: true, $ne: null}},
{'request.offer_id': {$exists: true, $ne: null}}
]
}
},
{
$project: {
group_id: {
$cond: {
if: {$ne: ['$request.offer_id', null]},
then: '$request.offer_id',
else: '$request.id'
}
},
dt: {
$dateFromString: {
dateString: '$dt'
}
}
}
},
{
$match: {
group_id: {$ne: null}
}
},
{
$group: {
_id: '$group_id',
last_visit_datetime: {$max: '$dt'}
}
},
{
$sort: {last_visit_datetime: -1}
},
{
$limit: 25
}
])
Подскажите пожалуйста, в чём может быть проблема, что $max не берёт последнюю дату?
А почему думаете что дата не последняя?
Makar M.
А оно выдаёт как последние от 29-го
Makar M.
На вид с запросом всё окей?
Makar M.
Нашёл ошибку, дело было в:
if: {$ne: ['$request.offer_id', null]},
Makar M.
Нужно было проверять на существование, а не на null
Val
Для обновления полей в сущности посоветуете использовать MongoTemplate или же MongoRepository? SpringData
Амир
Val
А mongoRepository что под капотом бзает?
В репе (JPA) нужно так:
MyDocument myDocumentToUpdate = myDocumentRepository.findById(documentId); // fetching a document that you want to update the field
myDocumentToUpdate.setMyField(myNewValue); // setting the new value to the field myField
myDocumentRepository.save(myDocumentToUpdate); // saving (It basically updates the document) the updated document
В темплейте вот так:
Query query1 = new Query(Criteria.where("id").is("123"));
Update update1 = new Update();
update1.set("available", false);
mongoTemplate.updateFirst(query1, update1, Customer.class);
Vladimir
Подскажите кто сталкивался, есть несколько объектов в коллекции. У каждого объекта есть поле list содержащим массив объектов { date, amount }, можно ли как-то сгруппировать, например по _id: null, чтобы в результате группировки было одно поле all с массивом объектов {date, amount}, а не с массивом массивов без предварительного unwind: '$list'?
Nick
Vladimir
Посиотрите на $concatArrays
Он для группировки не подходит unknown group operator '$concatArrays', для replaceRoot да, а тут не хочет
Nick
Vladimir
Kirilll
Всем привет
Поделитесь опытом кто как борется с долгими запросами в монге?
алерты какие то, профилировщики, экспортеры отдельные
Yaroslav
Yaroslav
Короче спустя 3 года, наша монга привратилась в нормализованную бд....
Kirilll
тут скорее я про их мониторинг
а-ля опрашивать currentOP op.secs_running > 600 и тп
с анализом кривых запросов и индексов все понятно)
Yaroslav
По поводу алертов, подключили графану, чтобы визуализировать, там прям интересно и быстро находится
Kirilll
S
Привет, я же правильно понимаю, что если у меня может быть match по полю a, b и по ним вместе, то мне необходимо все равно два индекса? { a: 1, b: 1} и { b: 1 }. И соответственно что тогда делать когда у меня таких полей 5 штук ? Нужно как-то по умному продумать дофига индексов, которые покроют все случаи?
Tetra
Vladimir
Подскажите такой вопрос, в монге нет аналога хранимых процедур?
Vladimir
Столкнулся со следующим кейсом, есть aggregation, который отлично работает через клиента, но не парсится в приложении springboot, проблема возникает на уровне function в $accumulator
Nick
Nick
Vladimir
Vladimir
Еще момент заметил, некоторые числа при использовании accumulate: function воспринимаются, как строки или NaN, как с этим бороться лучше всего?
Nick
Vladimir
Лежит Decimal
Vladimir
Причем нет пустых значений, чтобы получить NaN
Nick
Лежит Decimal
вот сходите в базу и посмотрите что там реально лежит, видимо чтото гдето лежит нетандартное
Vladimir
Сейчас я отлаживаюсь в NoSQLBooster for MongoDB
Vladimir
Я не думаю что у них какой-то свой кастомный драйвер для подключения используется
Vladimir
Интересно js работает в монге