Araik
на сколько это корректное решение?
Nick
кажется понял, нужно _id указать как null :)
Все правильно, для группировки всех значений в _id указывается константа
Araik
Понял, спасибо!
Araik
а к полю даты имеет смысл индекс добавлять? если выборки по дате делаются?
Андрей
Не получается разобрать объект на nodejs, отправляю его formdata. croppedBannerImage: '[object Object]' получаю на серве, как правильно разбирать такой объект ?
Aleksandr
.toObject()
Alexander
Парни, подскажите, как установить ссылку на другую коллекцию в схеме по конкретному полю а не по _id https://i.gyazo.com/507c8483fdaa72893f168218f327ee2e.png
Yʉri 🇺🇦
Alexander
Anonymous
Бесит монга. Почему если я записываю в базу число, то при получении оно возвращается как строка?
Anonymous
В схеме обозначено как набер, в базу смотрю там тоже число Но после того как достаю это из базы, то получаю строки
Anonymous
разбирайтесь с кодом
То есть это поведение не правильное?
Vladislav
привет! Монга что-то не ищет по regexp'у, в случае если в паттерне есть кириллица: db.translations.find({"rus": { $regex: /\bбежать/} })
Vladislav
Гугл молчит по этому поводу... Есть ли способы пофиксить это ?
Araik
подскажите пжл кто знает, можно ли объединить эти 2 запроса?
Araik
Araik
Nick
подскажите пжл кто знает, можно ли объединить эти 2 запроса?
у вас условия в них разные, такое не объединяется
Araik
ясно, спасибо
Araik
а еще вопрос, оба запроса занимают где-то 2-3 секунды каждый, в базе чуть больше 50к документов (150мб), Atlas M0, это нормально? Индексы на всех полях из запроса, кроме metric_set
Nick
а еще вопрос, оба запроса занимают где-то 2-3 секунды каждый, в базе чуть больше 50к документов (150мб), Atlas M0, это нормально? Индексы на всех полях из запроса, кроме metric_set
используйте explain для анализа запросов и какие индексы используются. возможно у вас одиночные индексы и лучше сделать под запросы составные индексы
Araik
да, везде обычные индексы
Araik
почитаю про индексы, спасибо
Nick
на оба запроса нужно будет сделать индекс assignee_id, created_at
Araik
угу, понял, спасибо!
Araik
еще такой вопрос, чето не могу осилить никак, пытаюсь сделать выборку по полю status, операторы $or и $in игнорируются почему-то
Araik
это нужно через $text делать или я чего-то непонимаю?
1
Время подключение к удалённой базе при запуске 1 скрипта 1-2 сек, если запустить одновременно 10-20-30 скриптов, то время подключения уже составляет 10-15 сек. Запускаются скрипты в пределах одной машины. Есть ли возможность один раз подключиться, чтобы в последствии не подключаться каждый раз? Держать постоянно запущенными скрипты не вариант.
Sergey
Время подключение к удалённой базе при запуске 1 скрипта 1-2 сек, если запустить одновременно 10-20-30 скриптов, то время подключения уже составляет 10-15 сек. Запускаются скрипты в пределах одной машины. Есть ли возможность один раз подключиться, чтобы в последствии не подключаться каждый раз? Держать постоянно запущенными скрипты не вариант.
Может сделать один общий скрипт, в котором делать подключение и раздавать его другим скриптам? У меня примерно так и сделано в Ruby. Есть Rakefile, в котором создаётся переменная @mongo_client, которая передаётся в нужные скрипты. Итого, на десяток скриптов — одно подключение.
Dmitriy
ребят, человек спрашивает про синглтон, но каким образом паттерн, который надо реализовывать для конкретного ЯП относится к субд в общем не сильно понятно
Sergey
ребят, человек спрашивает про синглтон, но каким образом паттерн, который надо реализовывать для конкретного ЯП относится к субд в общем не сильно понятно
Так без дополнительных вводных не сразу понятно, про что именно идёт речь. Если у человека Ruby скрипты, то я помогу, если что-то другое — то другие помогут. Может и синглтон нужен, всё ж от задачи и реализации зависит.
Dmitriy
Может сделать один общий скрипт, в котором делать подключение и раздавать его другим скриптам? вот это ровно и называется синглтон (плюс минус) и оно не зависит от ЯП)))
Dmitriy
это общий паттерн
1
что за скрипты?
node.js выполняются около 30-60 сек
Гена
Коллеги, добрый день Подскажите можно ли через db.stats заселектить только "dataSize"?
Гена
спасибо))
Oleg
Делаю агрегацию и мне нужно получить результаты с общей суммой. Результат нужен желательно внутри объекта fromTo10k50k, но пишет что The field 'fromTo0k50k' must be an accumulator object, но я просто хочу чтобы результаты были в этом объекте и ничего аккумулировать не надо
Oleg
ага, так и делаю, спасибо
Araik
Araik
просто сохраняй конект и передавай скриптам, вместо того, чтобы новые подключения создавать
Dmitriy
Это на любом языке можно сделать
не используйте empty для объектов - это оверхэд) там ничего кроме null быть не должно и соответственно проверка должна быть null !== $this->db :)
Dmitriy
прошу прощения за офф. топ)))
Araik
справедливое замечание, спасибо))
Igor
коллеги, всем привет, подскажите, пожалуйста по архитектуре, есть коллеция user - тут все плоско есть коллеция posts - тут нужен совет сейчас сл архитектура: posts: -id: ObjectId -user_id: String -postsArray: Array -title: String -id: ObjectId ... итого получаем, сложный поиск, но какую то структуру, у меня есть обьект user, и в нем уже все посты есть мысли сделать посты так же плоско как users posts: -title: String -id: ObjectId -user_id: String будет проще поиск, (соответственно наверное быстрее?) как лучше сделать?
1
просто сохраняй конект и передавай скриптам, вместо того, чтобы новые подключения создавать
Спасибо, надо попробовать, как работает и как можно это реализовать в node.js
Anton
Добрый день! подскажите, пожалуйста: я хочу пройтись по элементам коллекции и обновить конкретное поле в них с применением функции $ceil как я могу это сделать? я вижу, что ceil возможен только в агрегации, но не вижу возможности через агрегацию сделать update
Артур
привет всем, подскажите пожалуйста, столкнулся с такой проблемой, есть в монге товары, у которых есть поле sku которое лежит в следующем виде 55f12*, есть сканер который сканирует штрих код товара, нужно находить товар у которого начало сбегается с тем что лежит в бд на данный момент, то есть, 55а12* и заменять его штрих кодом полным - 55а12*32kl0019, пробую искать через regex но почему то возвращает null, заранее благодарен
Артур
const model = await ProductModel.findOne({ $or: [ { 'indoor.sku': { $regex: sku, }, }, { 'outdoor.sku': { $regex: sku, }, }, ], });
Dmitriy
что в переменной sku лежит?
Артур
штрих код полный который приешл со сканера
Артур
55а12*32kl0019
Dmitriy
так и что вы хотете тогда найти regex-ом если то что у вас в базе лежит не совпадает по маске с тем, что вам на вход приходит?
Dmitriy
на уровне приложения обрежьте входящее значение до звездочки и все у вас будет искать (к слову тогда и без регулярки): find({"sku": prepared_val})
Артур
понял, спасибо большое, затупил что то)
Anton
Добрый день! подскажите, пожалуйста: я хочу пройтись по элементам коллекции и обновить конкретное поле в них с применением функции $ceil как я могу это сделать? я вижу, что ceil возможен только в агрегации, но не вижу возможности через агрегацию сделать update
Nick
А можно пример, пожалуйста?
https://docs.mongodb.com/manual/tutorial/update-documents-with-aggregation-pipeline/
Vadym
Добрый день, вопрос знатокам: есть коллекция полигонов и коллекция линий, нужно обновить всем линиям поле ID_Полигона. Т.е определить входит ли линия в полигон и проставить ей айди полигона. Использую $geoIntersects. Индекс 2dsphere. Все работает но медленно, для каждой из 90к линий вызывается поиск полигона. Возможно как-то найти все линии в полигоне, а не полигон для каждой линии? Спасибо.
Anonymous
Доброй ночи. Можно ли с помощью агрегации удалить запись или агрегация это только выборка?
Yʉri 🇺🇦
yopp
Доброй ночи. Можно ли с помощью агрегации удалить запись или агрегация это только выборка?
Нет, нельзя. Вы можете только делать выборки и в ограниченном виде использовать AF для обновления данных в 4.2+
yopp
А можно пример, пожалуйста?
https://docs.mongodb.com/manual/tutorial/update-documents-with-aggregation-pipeline/
Araik
помогите разобраться пжл с запросом
Araik
Araik
как корректно сформировать запрос с $or внутри $end
Araik
ошибок не выдает, но возвращает пустой результат
Araik