El
у меня еще вопрос, я пока еще в процессе разбора, у монго есть механизм, при котором удалив сущность удаляются автоматически все зависимости? Или это надо будет делать вручную?
Nick
наличие схемы в монге имеет смысл только когда есть много разных сервисов/скриптов/пользователей, которые потенциально могут попортить данные и не возможности проконтролировать что код везде работает с одними и теми же форматами
Nick
Nick
El
спасибо за помощь, возможно вернусь скоро с новыми вопросами)
O.
Всем привет!
MongoDB 4.2.x
Foreign Pipeline видимо с $expr/$eq без индексов работают((
Вот такого рода конструкции:
$lookup: {
from: 'operations',
let: { userId: '$userId', status: 1, type: 'in' },
pipeline: [
{
$match: {
$expr: {
$and: [
{ $eq: ['$owner', '$$userId'] },
{ $eq: ['$type', '$$type'] },
{ $eq: ['$status', '$$status'] }
]
}
}
}
],
as: 'operationUsers'
}
Насколько понял в 5.x.x версии починили данный момент:
https://www.mongodb.com/docs/rapid/release-notes/5.0/#-expr-operator--comparison-operators-use-indexes
Есть у кого-нибудь понимание, насколько сильный буст произошел?
Может был опыт, использовать pipeline с $expr и $eq было 30 сек. на 4.2.x
Переехали на MongoDB 5.x.x стало 2 сек.
O.
Всем привет!
MongoDB 4.2.x
Foreign Pipeline видимо с $expr/$eq без индексов работают((
Вот такого рода конструкции:
$lookup: {
from: 'operations',
let: { userId: '$userId', status: 1, type: 'in' },
pipeline: [
{
$match: {
$expr: {
$and: [
{ $eq: ['$owner', '$$userId'] },
{ $eq: ['$type', '$$type'] },
{ $eq: ['$status', '$$status'] }
]
}
}
}
],
as: 'operationUsers'
}
Насколько понял в 5.x.x версии починили данный момент:
https://www.mongodb.com/docs/rapid/release-notes/5.0/#-expr-operator--comparison-operators-use-indexes
Есть у кого-нибудь понимание, насколько сильный буст произошел?
Может был опыт, использовать pipeline с $expr и $eq было 30 сек. на 4.2.x
Переехали на MongoDB 5.x.x стало 2 сек.
А то переедем на 5.x.x и толку ноль будет))
Понятно, что смысл апгрейдиться так или иначе есть
Но сейчас вопрос конкретно с данным моментом
JOIN'ы с таким пайпом очень нужны
Nick
Всем привет!
MongoDB 4.2.x
Foreign Pipeline видимо с $expr/$eq без индексов работают((
Вот такого рода конструкции:
$lookup: {
from: 'operations',
let: { userId: '$userId', status: 1, type: 'in' },
pipeline: [
{
$match: {
$expr: {
$and: [
{ $eq: ['$owner', '$$userId'] },
{ $eq: ['$type', '$$type'] },
{ $eq: ['$status', '$$status'] }
]
}
}
}
],
as: 'operationUsers'
}
Насколько понял в 5.x.x версии починили данный момент:
https://www.mongodb.com/docs/rapid/release-notes/5.0/#-expr-operator--comparison-operators-use-indexes
Есть у кого-нибудь понимание, насколько сильный буст произошел?
Может был опыт, использовать pipeline с $expr и $eq было 30 сек. на 4.2.x
Переехали на MongoDB 5.x.x стало 2 сек.
зависит от объема данных, как много доков потребует связывания и как много доков в связываемой коллеции - от первого будет зависеть сколько "подзапросов" будет выполнено ко второй коллеции, а от ее объема какой конкретно буст даст индекс по сравнению с колсканом
O.
Nick
O.
На 4.2.x .explain результата по $lookup не дает еще((
O.
Первично думал на всякие разные моменты
Может запросы сами по себе кривые
Нашел тикеты в JIRA у монги
Там все тыкают в 5.x.x монгу
Идите туда, там все хорошо
O.
O.
Ладно
Думаю надо двигаться в сторону 5.x.x
Да и плюшек там много
Nick
O.
Its
При сохранении пользователя у меня создаются все поля кроме personData, почему так? Хотя я задаю ему только username и password
Nick
El
ребят уникальное поле как то можно создать в документах без использования индекса или нет? Например эмейлы пользователей. Спасибо.
Dmitry
Dmitry
А так надеятся на чудо и перед сохранением делать findOne
El
Понял спасибо
George
Всем привет, как можно сделать поиск по именам полей? (не значениям)
Nick
George
поподробней опиши что надо
Короткий пример, есть много записей вида:
https://pastebin.com/cVpZ2xXp
Т.е с уникальными названиями полей, а значение в которых просто тип поля.
и мне нужно делать поиск по именам(ключам) полей
Nick
Nick
вообще неудачное решение
George
Nick
George
Приходит массив имен полей, например:
["emailsed", "cityz" итд]
нужно конкретно эти поля найти в mongodb и вернуть id записи которая подошла по названиям всех полей в монго
George
Значения полей не важны, так как содержат просто тип поля
Nick
подобное только через $objectToArray можно провернуть, но на постоянку это медленно будет. Если есть возможность то стоит перестроить схему и хотя бы собирать массив с названиями полей, и еще лучше хешить этот массив и искать по хешу
George
Возможность перестроить есть) А как сделать эталонно можно?)
George
я просто монго только сегодня скачал ☺️😁
А все сделать нужно уже завтра
George
Спасибо админу за помощь в лс ))
Its
Nick
Игорь
Eugene
Привет,
Как я могу подключться к другой датабазе, по дефолту меня VSC extension подключает к test. если я делаю use <myDatabase> , то все равно все CRUD requests адресуются в Test
Eugene
Все, больше не актуально.
George
Всем привет, в монго есть какие-то штуки которые восстанавливают коллекции?
я просто удаляю полностью контейнер + вольюмы + образ, пересобираю контейнер монго с нуля.... а внутри уже лежат старые коллекции, ппц(
George
ну монго собирается из официального образа 🤔
George
не знаю почему... помогла перезагрузка
George
А как сделать что бы при поиске коллекции, монго отдавал результат только если все поля коллекции указаны в запросе?
Its
Всем привет
Its
Почему мне выдаёт предыдущее значение orderList а не обновленное? Как это исправить?
Dmitry
Dmitry
В качестве третьего параметра
Its
Спасибо
Дима
Подскажите, пожалуйста, можно ли в монго использовать переменные на русском языке?
Dmitry
Дима
Нафига?
Потому что я не хочу использовать английский язык
Дима
Можно или нет?
Дима
Mikhail
Соболезную вам...
Ну попробуй на русском создать переменную. Это было бы быстрее чем спрашивать в этом чате.
Yury
Yury
Alexandrr
Alexander
Mable
Всем привет, можно ли как то использовать mongo db Atlas в России ?
Mable
Понял, спасибо
Nick
Alexandrr
Alexandrr
@yatoba
Alexandrr
потом такая хуйня получается😅
Mark
Yury
Можно ли выполнить полнотекстовый поиск после агрегации с lookup? Просто у меня в документе хранятся Id, которые ссылаются на другие элементы и у этих элементов есть поля name, по которым хотелось бы тоже чтобы поиск был
Dmitry