✙ Nikita
еще рассматривал вариант передать отдельно массив транзакций, и массив клиентов, и потом клиент пусть сам выводит их, делая поиск по id
Artem
как использовать setDefaultsOnInsert в Model.create ?
maxsimych
как использовать setDefaultsOnInsert в Model.create ?
А его там не нужно использовать, только в findOneAndUpdate
Anton
Странно, делаю 4 Compound-Индекса для такого запроса. [model-predict], [model-owners_num], [model-vin], [model-year] и в explain() без hint() получаю совсем не оптимальную картину - все доки из коллекции перебраны
yopp
Пересечение индексов не всегда эффективно и планировщик в монге достаточно консервативен. Вы можете посмотреть какие планы запросов рассматривались планировщиком, какие результаты при проверке этих планов были получены https://docs.mongodb.com/manual/reference/method/PlanCache.list/#PlanCache.list Ну и $not условия обычно незначительно уменьшают размер выборки, так как исключают небольшое число документов из общего множества. Плюс у вас там ещё и $or что тоже не уменьшает выборку. Возможно в вашем случае поможет один compound индекс и переписать условия таким образом, чтоб убрать $not
yopp
Спасибо
Ну и если у вас возникают ситуации со сложными условиями по множеству параметров, то вероятно Attribute-Value модель будет более эффективной https://t.me/mongodb_ru/82526
Физик-ядерщик
Поиск по "_id" быстрее чем по полю, или без разницы?
yopp
Поиск по "_id" быстрее чем по полю, или без разницы?
Если по полю есть индекс, то плюс минус одинково
✙ Nikita
имеется ввиду типа связь автора с книгами?
Artem
Wow thx! 🤦‍♂
Anton
Spam alert
SuleYman
У вас монгус?
Тоесть что это значит?
Dmytro
всем привет, после каждого запроса в express js через middleware жду jwt token авторизации в заголовке, скажите пожалуйста, где лучше всего хранить его?
Dmytro
Но не в mongo db точно.
Joe
Но не в mongo db точно.
Его не надо хранить. Его надо распарсить, проверить и исходя из этого пропускать либо ошибку кидать
Vladimir
всем привет, после каждого запроса в express js через middleware жду jwt token авторизации в заголовке, скажите пожалуйста, где лучше всего хранить его?
Существует express session и jwt и последний действительно хранить не нужно, за исключением случаев когда вы создаете refresh_token. Сессии же как и рефреш токены, рекомендуют хранить в быстром кэше, конкретно в реддисе, но если вы только начинаете, наверное нет смысла с нуля зоопарк инфраструктуры разводить, и можно временно и в монге это держать, а по необходимости разносить.
Nick
если под подключениями понимается количество коннектов - то практически нет, это не постгря где процесс стартует на каждый новый коннект.
Danil
Всем привет, подскажите в чем может быть проблема? Пытаюсь создать задачу и записать ее в базу данных http://joxi.ru/v29bXzlUpXqKvA Но почему-то получаю вот такую ошибку TypeError: result.save is not a function
Oleg
Есть коллекция с транзакциями юзеров. В ней есть owner_id и value. Для вывода баланса я делаю агрегацию и суммирование value для owner_id. Задача: вывести место, на котором находится юзер среди всех юзеров сгруппированных и отсортированных по value. Если проще, то хочу, чтобы юзер знал своё место в топе. Как это сделать красиво?
SuleYman
Приветствую, делал сортировку по полю дата, наткнулся на интересный синтаксис $filter = []; $options = ['sort' => ['timestamp' => -1]]; $client = new MongoDB\Client('mongodb://localhost'); $client->mydb->mycollection->find($filter, $options);
yopp
Посчитать количество пользователей с балансом больше чем у него
yopp
Индекс по балансу
yopp
Можно ещё сразу сортировать, но это дорого, если транзакций много
Влад
как думаете, если у меня в коллекции счет документов будет идти на миллионы (продажи сервиса), сколько индексов я могу сделать на нее, учитывая, что работаю я в атласе. так что бы не было слишком большой задержки между основной и индексами
Влад
может у кого-то есть реальные примеры. понимаю, что от тарифа зависит и т.д.
yopp
В одной коллекции может быть не больше 64 индексов. Сомневаюсь что вам понадобится такое количество. Пока у вас не возникнут реальные проблемы, смысла что-то оптимизировать нет. Затраты на атлас будут зависеть от множества параметров, включая объём трафика, количество IO плату по тарифу и тд
yopp
Большое количество индексов и проблемы в связи с этим, обычно сигнал к изменениям модели данных
Физик-ядерщик
Ребят, как сохранить пустой массив?
Физик-ядерщик
Или лучше этого не стоит делать?
Viktar
Ребят, как сохранить пустой массив?
А зачем вам пустой массив? А так точно так же как и не пустой
Физик-ядерщик
Проблема: При обновлении документа, а именно, при удаление последнего элемента из массива, массив не сохраняется
✆
Есть сервер полноценно рабочий с панелью управления хостингом. Бд MySQL/mariya на сервере и postgresql. Можно установить рядом Mongodb и как это сделать?? Или нужно другой сервер???
yopp
Две базы данных на одном сервере лучше не деплоить
yopp
Они обе будут бороться за память и ничем хорошим это не закончится
yopp
Если прямо очень надо, то тогда в докере/витруалках с квотами
Физик-ядерщик
Вы удаляете каким образом?
через lodash работаю с полем, далее сохраняю документ через document.save()
yopp
Монга при операциях с массивами обычно не удаляет поле
Физик-ядерщик
Понял, спасибо за ответ
✆
Если прямо очень надо, то тогда в докере/витруалках с квотами
А докер настраивать умеешь? Я просто устанавливал на сервер , он создает сетевой интерфейc (IP) , который закрывает доступ к моей панеле управления сервером
yopp
Или в атласе
✆
Я настоятельно рекомендую поднять монгу на другом хосте
Это как?? Смотри. У меня сервера. На одном сервере моегоdb и докер?? На другом сервере моя панель?, или создать хост аккаунт на панели управления и залить туда моего???
✆
Или в атласе
Мне для parse servera
✆
На моем сервере уже есть поддержка node js
✆
На моем сервере уже есть поддержка node js
На котором панель управления сервером
Danil
Подскажите пожалуйста, а можно как-то изменить статус на true нужного мне вопроса http://joxi.ru/n2YpZM5UewOkRm
Danil
Имеется вот такая разметка http://joxi.ru/L21gXqbT0vJwbr
✆
Я настоятельно рекомендую поднять монгу на другом хосте
Вместо монго можно же использовать пострескл??
Anonymous
Проблема: При обновлении документа, а именно, при удаление последнего элемента из массива, массив не сохраняется
у тебя монгус? там есть такая тема, что он по дефолту удаляет поля с пустыми объектами из схемы. чтоб не удалял, поставь minimize: false в schema options
Artem
А как хранить единичные элементы в монге? типо, константу какую-то?
ולאד
db.table.insertOne({"value":"const"})
ולאד
db.table.findOne({"id":"idvalue"})
Artem
константу мне как достать
ולאד
выборка по id
Artem
напиши как мне её достать
Alexander
всем привет
Alexander
вопрос есть по переносу репликасета. может кто проконсультировать?
ולאד
напиши как мне её достать
я пока начинаю изучать но db.table.insertOne({"key":"названиеключа","value":"вашаконстанта"}) достать - выборка по ключику db.table.findOne({"key":"названиеключа"}) в приложении забираешь значение value
Artem
ну ладно, спасибо
Artem
придется значит так