Nick
Там похоже дата-время(
тогда через gte-lt самый простой вариант
Alex
Всем добрый день. Подскажите плз, как правильно аггрегировать только заданные поля из коллекции, взятые из переменной? Например документ: { name: 'doc1', sample: { a: 1, b: 2, c: 3 } const fields = ['a', 'c'] $project = { sample: 1} На выходе надо получить { sample: { a: 1, c: 3 } }
Nick
Не помогает
Поиском найдите сам экзешник
Nick
Не находит.
значит не поставилось
Danila
Подскажите, каким образом я могу получить из таблицы (коллекции однородных документов) поле (например, doctor) для документов, удовлетворяющих определенному условию (например, quantity:{$gt:2}) ?
Danila
Пример таблицы
Wassilevs
db.prescription.find( { quantity: {$gt:2} }, { doctor: 1, _id: 0 } )
Vladimir
Добрый вечер всем! Что лучше использовать по оптимизации? aggregate с match или findOne с lean() ?
Vladimir
Добрый вечер всем! Что лучше использовать по оптимизации? aggregate с match или findOne с lean() ?
При том, что каждый документ уникальный и по опр.параметру поиску всегда 1
Max
Ребят, привет! Подскажите, можно ли загрузить json в базу без промежуточной десериализации, в идеале jsonl? Использую pymongo.
Kос
Привет, подскажите, пожалуйста, как сделать группировку по 1 полю, а внутри еще по одному (есть 2 разных статуса) и посчитать сумму разных статусов внутри первой группы?
A
подскажите можно ли сделать updateMany с следующим условием, если 1поле $gte 2поле ? нужно обновить isComplete сравнив amount и goal
A
сейчас вот так обновляется, не хотелось бы вытаскивать массив и циклом обновлять
A
комбинацией $sum и $cond
спс за наводку
Max
подскажите по поводу полнотекстового поиска с $text: мне нужно выполнить несколько десятков тысяч запросов на базу из ок. 100 млн небольших текстовых записей, как лучше делать: посылать запросы по одному или пачками? База локальная, код тоже.
Max
А вы не рассматриваете elastic search?
Могу рассмотреть, стоит?
Viktar
Могу рассмотреть, стоит?
Я реализовывал поиск, через эластик. Получилось довольно эффективно
P1GAS
You can't even if you want, there is list of ips which accepted
Miroslaw
Всем привет ! Есть вопрос - у меня есть игра , лежит в kubernetes (то есть сервера распределенные) и есть один сервер монги мне надо убедиться что пользователь вызывает определенную команду только один раз одновременно Наткнулся на server sessions в монге Вопрос - можно ли как то указать свой айдишник этой сессии ? Я так понимаю если айди буду повторяться то это уберет возможность параллельного выполнения этой команды Поправьте если я не прав. Спасибо
Samandar
Oh, I forgot. Thanks
Miroslaw
просто используйте транзакции
Спасибо за ответ ) Дело в том что у меня могут выполняться две транзакции одновременно (так как система у меня распределенная) а мне надо что бы могла только одна , без параллельности иначе это возможность нарушения консистентности внутри транзакции у меня много запросов на чтение обработку ит д
Miroslaw
а есть примеры проверки состояния?
Miroslaw
а то в официальных доках не особо богатые примеры по транзакциям
Nick
а есть примеры проверки состояния?
prev = find({_id:123}); if(prev.balance > cost){ update({id:123}, {$set: { balance: prev.balance - cost} }) }
Nick
и в каждый запрос контекст сессии тока добавить
Miroslaw
prev = find({_id:123}); if(prev.balance > cost){ update({id:123}, {$set: { balance: prev.balance - cost} }) }
то есть если у меня есть 2 сервера (2 подключения к монге) и на них почти одновременно начнуться транзакции - то оно сначала подождет одну транзакцию и потом вторую ?
Nick
то есть если у меня есть 2 сервера (2 подключения к монге) и на них почти одновременно начнуться транзакции - то оно сначала подождет одну транзакцию и потом вторую ?
выполнится только та которая не будет прервана (например если валидация отработает и вы отролбечите прямо в коде ее) и попадет на исполнение раньше (тут ключевое - что данные не поменяются с момента начала транзакции)
Miroslaw
выполнится только та которая не будет прервана (например если валидация отработает и вы отролбечите прямо в коде ее) и попадет на исполнение раньше (тут ключевое - что данные не поменяются с момента начала транзакции)
понял, а вот допустим если первая транзакция пройдет успешно - та, которая еще выполяется увидит влияние той которая уже отработала (если смотреть в контексте) ?
Miroslaw
тогда только в таком случае я смогу понять ревертать мне вторую транзакцию или нет
Nick
тогда только в таком случае я смогу понять ревертать мне вторую транзакцию или нет
ага, проверки в коде как раз и нужны чтобы не дожидаться исполнения самого запроса и можно сразу чтото показать юзеру по типу "пока вы тормозили место уже забронил другой юзер, выберите новое"
Nick
То есть влияние будет видно , да?
текс, а вот это надо бы чекнуть, поймал себя на мысли что в монге это может отличаться от опыта с другими базами
Xlebp
I have 2 schemas. An object in the user's schema refers to a personal promo code schema. I find the current user like this const user_id = ctx.message.from.id; const promocode = ctx.message.text.trim(); const user = await UserModel.findOne({ userId: user_id }); How can I find the current promo code for a given user? У меня есть 2 схемы. Обьект в схеме пользователя ссылается на схему персонального промокода. Я нахожу текущего пользователя вот так const user_id = ctx.message.from.id; const promocode = ctx.message.text.trim(); const user = await UserModel.findOne({ userId: user_id }); Как я могу найти текущий промокод у данного пользователя ?
Xlebp
Artur
How install mongodb, I get this error, Unable to correct problems, you have held broken packages
Andrey
Спасибо, а что посоветуете, как альтернативу?
influxdb, но поиграться получится и в монге
Mike
Народ. Такой вопрос: не могу закинуть в базу больше чем 8000 строк из текстового файла - (командой insertone) надо закинуть неск лямов - это реально сделать в один проход?
Mike
да это дата котировок
Mike
валютных
dnacd 🦜
и че)
Mike
и че)
решение существует какое то?
Mike
возможно даже проблема не в базе а в том что я прочесть столько не могу из файла текстового
Mike
показывается что прочел 8500 строк
Mike
http://joxi.ru/Vm6KL8xC36bLq2
Mike
а следующая строка какой то не понятный обьект уже считывается
Mike
вместо следующих данных
Mike
что это может быть?
Mike
озу 32 гига должно хватать
dnacd 🦜
озу 32 гига должно хватать
значит иде, где-то есть ограничение
Mike
а есть команда для монги что бы посмотреть последний елемент в базе?
Mike
(не зависимо то того какой он)
Mike
http://joxi.ru/52aXbPzUlYepQm структура вся вот так выглядит в базе
Mike
гуй монги тоже самое выдает: http://joxi.ru/GrqlZnXCz0xvaA
Mike
подозреваю это реально последний елемент
a
Есть вопрос Mongodb отключен для рф пользоваталеей? И можно ли как-то получить доступ к mongodb?
a
почему то с впном не мог залогиниться, щас зашло...
Vladimir
Добрый день! Хочу сделать поиск в бд подписчиков У каждого подписчика есть поле firstName и lastName Вбивается query параметр find_el = "Пирожков" (допустим, фамилия) Как сделать нечёткий поиск сразу по двум параметрам firstName и lastName и выдать пользователей, у которых есть и имя и фамилия с таким названием ?
Vladimir
А если он вбил в поиск Артур Пирожков, но есть Пирожков Артур
dnacd 🦜
А если он вбил в поиск Артур Пирожков, но есть Пирожков Артур
Пирожков не имя. это во-первых. если хочешь по имени фамилии искать, юзай or или имя или фамилия
dnacd 🦜
А если он вбил в поиск Артур Пирожков, но есть Пирожков Артур
но для таких задач поисковые движки есть, по типу эластика, чет слышал в монге тоже появился относительно недавно какой-то движок, но ещё не вникал в это