Nico
да, начинаю понимать, потыкался там
Dmitry
Nico
да, именно так и получилось. Спасибо
Андрей
Добрый всем! Может кто подскажет группу для ребят с экспертизой в нереляционных для найма специалистов? Или можно писать тут (в правилах не увидел разногласий, но решил уточнить)? Заранее всем спасибо и хороших выходных!
Nick
Андрей
Sova
Всем привет. Поделитесь опытом, нужен SaaS для бекапа MongoDB в Azure Blob Storage ( Mongo Cloud/Manager/etc. не подходит, нужно бекапы лить напрямую в Storage Account ). Любые отзывы ( успех/не успех ) крайне приветствуются.
Andrew
Привет всем!
Подскажите, есть ли возможность поиска в Mongo Compass после замены регуляркой значения поля?
То есть, мне требуется искать по номеру телефона в поле, в котором номер телефона может быть записан как через тире, так и через пробелы, со скобаками и без, и просто в виде числа без других символов.
Идея такая: удалить всё, что не является цифрами и после этого сравнить с искомой строкой.
Что-то типа
{ {field.replace("[^0-9]+", "")} : {$regex : "12345678910"} }
Alexandrr
Vladyslav
Andrew
Vladyslav
Dmitry
Andrew
Позже так и сделаем: приведём к одному формату и на загрузку поставим конвертер в единый формат.
Но сейчас база именно такая, и требуется достать данные из имеющегося формата.
И, я начал искать решение, интересно стало: в принципе, решаема ли это задача.
Alexandrr
Vladyslav
Andrew
Alexandrr
Vladyslav
Upside
В любом случае будет перебор всей базы, так почему же сразу все не привести в порядок?
Andrew
И второй момент: я хочу понять возможно ли это
Upside
возможно
Vladyslav
Andrew
другой программист доступ и дал)
Alexandrr
И второй момент: я хочу понять возможно ли это
в чистом виде - нет
потому что исходные данные будут иметь все равно "грязный" вид, а сравниваться будут с "чистыми" данными, если мы говорим чисто про сравнение, как отдельную операцию
Upside
Alexandrr
Vladyslav
другой программист доступ и дал)
ну так вот вам вариант с обратной совместимостью:
читаете всю бд, где есть поле номера, добавляете новое поле phoneFormatted - куда и пишете формализированую версию.
Дальше для вашего поиска юзаете это поле.
Еще нужно будет допистаь код на create\update, если таков есть
Alexandrr
Alexandrr
только полагаться на то, что регулярка составлена без ошибок, т.е. не проводить сравнения после поиска по ней
Andrew
Ок. Парни, спасибо.
Если получится этот кейс — напишу здесь)
Upside
Мне вот это очень помогло https://metanit.com/nosql/mongodb/2.3.php
Главный
.
Ребята привет, Mongo насколько знаю является не реляционной, тобиш связи по идее не должны быть
Но будет ок если они будут?
Например у меня в одной схеме есть uuid привязанные к другим схемам
Например схема А {_id: 'qwerty', name: '...'}
Schema B {_id: 'uiop', a_id: 'qwerty' }
Безопасно ли это, практично ли, применяют ли вообще такое ?
Спасибо
Dmitry
Dmitry
Например у актеров много фильмов, а у фильма много актеров. Делаешь через 3 коллекции и на этом всё
Dmitry
Вообще можно всё в одно коллекцию впихнуть, но через 3 удобней
Dmitry
Тем более есть lookup
.
Супер, спасибо
Тогда применю)
Просто в практике не встречался с реляциями в монге, чутка сомневался
Принял, спасибо большое
😳
Всем привет, почему обычный find запрос выполняется 1 секунду?
😳
там всего 4 документа
Roman Khonichev
Roman Khonichev
как измеряете время выполнения?
😳
😳
и в постмане еще видно
Roman Khonichev
а explain запроса что говорит?
😳
в плане?
Roman Khonichev
https://www.mongodb.com/docs/manual/reference/command/explain/
Roman Khonichev
вам бы в консольку на сервере, исключить задержку сети, фреймворков и т.д. Слишком много неизвестных
😳
хм, интересно, но просто странно что такой маленький запрос, так много времени занимает
Roman Khonichev
может запрос один, а он через орм тянет еще что-то... сделайте чистый запрос, все встанет на места
Roman Khonichev
explain должен все прояснить
Dmytro
Kek
Всем привет! Я только изучаю базы данных, пока не совсем могу понять как провфильно хранить сущности.
У меня есть пользователь, у кого-то должен быть массив условных товаров. Я должен это хранить все в одной таблице? Для меня выглядит проще сделать две таблицы, с пользователями и товарами, и в товаре хранить ид владельца, тогда можно будет удобно получать данные когда я буду тянуть пользователя. (Товары должны быть у пользователя в поле товары) это удобно будет реализовать через агрегации и в дальнейшем удобно будет редактировать товар, и не трогать самого юзера
Я правильно мыслю?
Vladyslav
Kek
Kek
есть какойто не костыльный способ вернуть из агрегации один элемент?
Kek
для меня немного странно что нельзя сделать агрегацию после findOne)
Viktar
Kek
Если честно я не понимаю, какая у вас проблема
возможно нужно уточнить что я пишу это все на несте через библиотеку монгус
как я понимаю после агрегации результат будет массивом, а мне нужно просто объект получить, точно такой же как после findOne
Kek
мне приходится делать array[0] что на мой взгляд не очень красиво, хотелось бы чтото более нативное
Viktar
Поставьте последним степом $limit:1
Viktar
И будет у вас один элемент в курсоре
Viktar
Ну агрегация другое не вернёт.
Viktar
А почему вам не нравятся массивы?
Kek
просто здесь тот случай когда я точно знаю что будет один объект, и было бы просто удобнее с ним работать
Kek
я красиво через деструктуризацию получаю)
EV
Здравствуйте. Я новый в монге. Подскажите, как сделать транзакцию из mongosh?
Второй вопрос - insert many. Если один документ при вставке упадет ошибкой по причине duplicate key, что с остальными?
mrFix
Приветствую.
Такой вопрос: оператор $in, сколько можно значений без просадки производительности? У меня ориентировочно 20-40
Emil22878
гайс есть такая схема, как передать связь юзера в ключ и чтобы значение было totalScore ?
Emil22878