David
Артем
https://www.mongodb.com/docs/manual/reference/method/db.collection.findOneAndUpdate/
Anonymous
два файнда для чего?
Чтобы один отсортировал всю базу в обратном порядке, а второй непосредственно нашёл то, что нужно
Nick
Anonymous
Ну и в итоге: как мне решить задачу?
Nick
Anonymous
Артем
хз
Артем
посмотри документацию по драйверу
Alexandr
Привет всем
Кто то сталкивался , с поведением на серверах mongo с репликой
Что утилиты df выдают большее значение занимаемого места на сервере чем du
куда можно копать
Андрей
Vladimir
У документа есть есть субдокумент, точнее это массив субдокуметов без _id, там по факту набор парметров { key, value }. Так вот как сделать что-то типа assign, когда приходит массив каких-то данных для обновления, причем там могут быть данные которые совадают, данные которых нет массиве субдокументов, ну и данные где изменилось value. Хочется как-то это сделать штатными средсвами но $set не пойдет так он просто заменит массив, а нужно что-то типа assign
Nick
Vladimir
Aleksey
Всем большой привет!
Пишу пайплайн для тестов и сейчас хочу развернуть mongoDB в GitHub actions с data/, чтобы сделать потом mongorestore.
Для локальных тестов собираю кастомный образ, куда ложу нужную папку для рестора.
Как можно развернуть mongo в github actions и дать команду, чтобы она заресторила данные?
mArSeN
await this.historyModel.updateMany(
{ _id: { $in: bonuses[0]?.historyLogIds } },
{
$set: {
status: 'rejected',
updatedAt: new Date(),
description: '$referralName',
},
},
);
просто хочу, чтобы $referralName из бд взял
mArSeN
а он просто вставляет туда как строку "$referralName"
mArSeN
Alexander
mArSeN
так прикол в том, что тут он работает нормально.
await historyModel.updateMany({}, [
{
$set: {
createdAt: { $ifNull: ['$date', '$createdAt'] },
updatedAt: { $ifNull: ['$updatedAt', '$date'] },
},
},
{
$project: {
date: 0,
},
},
]);
Alexander
Тут это где?
mArSeN
трэш
Alexander
А внутри ifNull, да он умеет ссылаться
mArSeN
понял видимо в чем дело, забыл добавить квадратные скобки
mArSeN
вчера на работе 4-5 часов убил, на такую простую задачу.
dekabr
привет
использую .NET клиент
столкнулся с такой ошибкой
очень удивился потому что такого значения быть не должно
проверил в базе
вижу нечто очень странное
как оно может быть 'Start' но при этом выдаваться по запросу который ищет 'StartNode'?
dekabr
Nick
Casino Elites
☝️
Vitya
Vitya
Да
Vitya
Видяшки, пока только первый вступительный раздел глянул, работы подвалило, но до средины июня надо разобратся 100%
Eugene1111
привет сори за лень, если можете ответьте на 2 вопроса) можно ли на монго заливать картинки (дял профилей пользователей типа) и что будет когда место кончится на бесплатном тарифе, я смогу перейти на платный без потери уже существующей бд? спасибо
Nick
Eugene1111
Вячеслав
Всем привет, подскажите пожалуйста, есть ли какой-нибудь аналог Rockmongo с встроенной авторизацией (либо возможностью прикрутить лдап)
Damir
Damir
Андрей
Damir
Андрей
Вячеслав
Отлично
Вячеслав
Пошел раскуривать маны, благодарю неравнодушных!
Андрей
Так базовая авторизация в любом клиенте поддерживается
Андрей
ldap там в коммерческой лицухе по-моему от 200$. Пока триал период, все функции доступны.
Alexandrr
это все конечно хорошо, только недавно я начал ознакамливаться с лицензией монги, и, там много интересного, например, что вы должны платить деньги за использование в проде и многое другое
Thunder
Привет, скажите пожалуйста, $in: [regex1, regex2, ...] вот это работает, но если на это поле поставить индекс, я так понимаю это перестает работать?)
Thunder
или как лучше решить задачу, в коллекции десятки миллионов документов с полем которое содержит все разнообразие browser language (Ru-kz, Ru-tw, ... таких вариантов тысячи) , нужно по списку префиксов, например ru, tw получить все многообразие для этих языков, работало $in: [regex1, regex2, ...] , но это на большой базе уже не прокатывает, добавление индексов привело к тому, что по регекспам перестали выбираться документы, только по полному совпадению.
Артем
или как лучше решить задачу, в коллекции десятки миллионов документов с полем которое содержит все разнообразие browser language (Ru-kz, Ru-tw, ... таких вариантов тысячи) , нужно по списку префиксов, например ru, tw получить все многообразие для этих языков, работало $in: [regex1, regex2, ...] , но это на большой базе уже не прокатывает, добавление индексов привело к тому, что по регекспам перестали выбираться документы, только по полному совпадению.
Разделить в разные поля?
Thunder
неужели нет способа лучше?)
Артем
И тогда задача сокращается до поиска вхождения по полю
Thunder
тогда да
Thunder
спасибо, я не подумал об этом, тогда действительно все упрощается. но не пойму как быть с теми данными что есть уже
Артем
https://www.mongodb.com/community/forums/t/combine-text-with-regex/153083/4
Не уверен, что это, но здесь как раз описывается поиск по маске с текстовым индексом
Thunder
разделить по полям мне нравится, но как быть с данными что есть не пойму пока. кроме как написать скрипт который обойдет все.
Alexandrr
разделить по полям мне нравится, но как быть с данными что есть не пойму пока. кроме как написать скрипт который обойдет все.
именно так, модифицировать данные, пока работаешь с коллекцией, сделай ее копию и играйся с ней, так работоспособность основной коллекции сохранится, а когда настроишь копию, просто синхронизируй данные и удали старую, а копию переименуй в оригинал, только в этот момент желательно всё запросы остановить, что бы пользователи не потеряли данные, которые в момент копирования и удаления коллекции были синхронизированы
Thunder
пользователей нет, данные поступают ежесекундно. сейчас сделаю поставщику данных новые поля, а для тех записей у которых нет новых полей пройдусь скриптом, и все будет замечательно)
Easy Rider
Если например у меня на сервере можно сделать снапшот диска, ну типа резервную копию, то монга в консистентном состоянии будет в этой резервной копии?
web
всем привет! подскажите пожалуйста как передать параметры сортировки в код express для mongodb?
я так понял name это не переменная
RapidCodeLab
что понимается под "параметром сортировки"?
Nick
RapidCodeLab
Nick
Easy Rider
web
и name и -1 нужно с фронтенда тянуть
RapidCodeLab
sort({[field_name_variable] : [type_variable]})