Alexander
Мне нужно сторить сводку по заполнениям.
Сколько каких заполнений у поля.
Если все заполнения в одной коллекции, то не получится использовать индексы?
Alexander
Нагуглил, что $group не использует индексы
https://stackoverflow.com/questions/20455752/mongodb-aggregation-framework-does-group-use-index
Видимо, индекс по каждому полю заполнения бесполезен в моем случае
Alexander
Sergey
У меня схожий проект. Нужно собирать данные с разных форм в MongoDB.
Был выбор — собирать в одну коллекцию (для того MongoDB и был выбран, что он позволяет разноструктурные данные хранить в одной коллекции),
или хранить данные каждой формы в отдельной коллекции. Выбрал второй вариант.
Сейчас имею порядка 50 коллекций с похожими структурами документов, но в каждой коллекции структкра строгая.
Из плюсов — индексация, поиск, автономия (отключили источник — удалил коллекцию).
Из минусов — когда просят сделать общую аналитику — приходится «джойнить» коллекции.
Alexander
Serzhi
Всем привет!
Может кто-нибудь приблизительно сказать на сколько ускорится запись в mongodb, если её делать напрямую, а не через модель в mongoose? Где-то можно прочитать инфу на эту тему?
Модель простенькая :
Serzhi
Sergey
Привет. Не проще это проверить самостоятельно? Возможно, ваше окружение даст иные результаты, чем те, которые вы найдёте где-то?
Josh
на 0.243% примерно
Serzhi
Nick
Josh
Как мерили?
да никак, ерунда все это, профит от оверхеда только
Dmitriy
- штурман приборы
- 660
- что 660?
- а что приборы?
напомнило)
Sergey
С монго знаком очень мало, потому не проще. Предположил, что может кто-то уже рассматривал подобный вопрос пусть даже с другой моделью. .
Тут знания MongoDB сильно не нужны.
Раз вы заговорили про ORM Mongoose, значит в состоянии создать одну простую модель (вы её уже создали (на снимке экрана)).
Напишите в отдельном файле кусок кода, который через эту модель «насуёт» 100500 документов в MongoDB. Замерьте время, нагрузку, память и т. д.
После этого в другом файле сделайте прямое подключение к MongoDB и загрузите эти 100500 документов в соседнюю коллекцию. Сравните время.
Если в процессе возникнут вопросы — смело задавайте здесь. Опосля будет круто, если на Хабре появится статья от вас по производительности записи ORM vs Direct.
Serzhi
Alexander
привет. Подскажите пожалуйста, MongoDB Enterprise Server возможно вообще установить на не LTS версии Ubuntu? А именно на Ubuntu 19.10 x64?
Иван
Здравсвуйте!
Можете помочь?
Есть класс Price
Не могу понять как query фильтр сделать таким образом чтобы можно было конвертировать InputPrice в decimal и приравнивать значения.
C#
Vova
Иван
Пишу запрос из приложения, а query для бд. Чтобы запрос отработал на стороне бд
Vova
Vova
Всё просто
Иван
Если бы). По Это поле вводит пользователь и оно может быть либо числовым либо строковым, т.е. "10" ли "десять"(
Иван
В сети есть такой запрос на шарпах
db.MyCollection.find({ $where: "parseInt(this.Price) <= 1000" })
но, как его применить к query не знаю
Vova
Vova
Тут нужно машинное обучение чтобы число в любом виде принять
Vova
Или сервис какой-то
Иван
Не буду переводить это для отображения
Иван
Vova
Так а ты не сможешь число к строке приравнять
Vova
Vova
Оно тебе ошибку выкинет
Vova
К строке имею ввиду к нечисельным символам
Dmitriy
Josh
Vova
Там есть специальный класс, он ещё не задокументирован
Vova
Vova
Это из монги 4.2 фича
Иван
Иван
Vova
Только вместо вызова Aggregate на создавать ProjectionUpdateDefinition или как он там называется...
Vova
А, забейте, это же выборка, обновлять ничего не надо
hostmit
Я могу увеличить лимит на ?
Pipeline stages have a limit of 100 MiB (100 * 1024 * 1024 bytes) of RAM. If a stage exceeds this limit, MongoDB will produce an error.
Назар
Допустим есть документ, которому я хочу задать поле, у элемента массива внутри. Но этого массива и элемента может еще не быть. Как сделать, чтоб если его нет, то создать? Без проверок естественно
Igor
всем привет, как делаете транзакцию на монго версией ниже 4 ?
Alex
Дмитрий
всем привет
может у кого есть достаточно большой опыт работы с aggregation и может ответить на такой вопрос
есть коллекция, в ней 850 тыс документов, по индексу выбирается около 550 тыс, дальше идет степ агрегации
агрегация занимает около 3 секунд (как по мне это долго) можно ли как то разогнать ее? может кто-то тюнил такие запросы
и нормально ли это время для него(aggregation)?
Slava
Dmitriy
Дмитрий
Дмитрий
меня смущает часто еще такое что
"queryPlanner" : {
"plannerVersion" : 1,
"namespace" : "qc-pricing-api.costs",
"indexFilterSet" : false,
"parsedQuery" : {
Дмитрий
почему пишет что не использует индекс, когда он его потом в winning plan показывает
Nick
Sergey
Никто не сталкивался с аналогичной русскоговорящей группой в Телеграм по MySQL?
Дмитрий
stage IXSCAN есть значит используется индекс
пишет уже в winnigPlans а выше, где я приводил пример "indexFilterSet" : false, показывает что не ищет
в общем либо я не понимаю что это значит, либо они что-то намудрили
так же вижу, что по группе не используется индекс, в документации об этом не пишут
Гена
Коллеги добрый день
Кто-нибудь настраивал Mongo Exporter для прометеуса + графана?
Nick
Nick
и потом почти на две секунды в группировке
Дмитрий
по идее группировка в памяти идёт и не должна занимать аж 2 секунды
так же пробовал запустить монгу в In-Memory режиме, но прироста почти не получил, порядка 15%
Дмитрий
это так монга работает и с ней ничего не сделать или может есть какие лайфхаки что бы побороть и ускорить ее(монги) работу?
yopp
Алмаз
Всем привет! У меня возник паралелльный вопрос по https://t.me/MongoDBRussian/68162
Если на основе агрегации создать view, то это даст прирост производительности? Или все созданные view это виртуально - при каждом обращении происходит вычисления и потом запрос к ним? Или же реально в БД создается аля такие коллекции и обращения уже идут к ним?
yopp
Алмаз
Вью эфемерные, это не отдельная коллекция.
Спасибо не знал. Прочитал еще инфу здесь - https://dzone.com/articles/taking-a-look-at-mongodb-views . Теперь буду осторжнее пользоваться этой возможностью. Больше пользы для визуального представления админу, а не приложению.
Дмитрий
yopp
603 байта
Для 330мб данных, это в целом неплохой результат
yopp
у вас агрегациях с allowDiskUsage выполняется?
Дмитрий
нет
Дмитрий
без
Дмитрий
2 степа, match и group
yopp
Дмитрий
насколько читал, пока aggregation framework сыроват
yopp
Это недостоверная информация
Дмитрий
yopp
Почему эта агрегация для вас является проблемой?