yopp
но зачем?
Ruslan
я лучше контейнер буду создавать и мочить, так проще
yopp
нафига там что-то дропать?
tenni
да
драйвер или --eval, выбор верный был.
yopp
не монтируй тогда ничего из контейнера и будет тебе один контейнер == одна база
Ruslan
логично
Ruslan
я обернул вызов теста монго контейнером в мейкфайле, если он фейлится, то контейнер не убивается... щас починим
yopp
дропать базы, особенно в скриптах — к проверке бекапов
yopp
потому что однажды этот ваш скрипт чонибудь в продакшене дропнет
yopp
потому что причины
Ruslan
вот это меня как раз напрягало
John
тем, что докер не lxc
Это обёртка. И тем не менее это не отвечает на вопрос, почему нельзя залезать в контейнеры.
yopp
потому что докер вам дали для абстракции
yopp
если ты лезешь в контейнер, то ты или разрабатываешь/отлаживаешь контейнер или ты не так варишь докер
Ruslan
у меня просто монга была одна в докере, я её и мучал, пока разбирался
Ruslan
привык и даже не подумал, что на тесты можно отдельный контейнер поднимать, хотя тема очевидная
John
Если мне нужна чистая база, проще зайти а контейнер и дропнуть ее, чем подчищать потом вольюмы, которыми насрал докер
John
На проде никто в контейнеры залезать не будет
John
Чтобы чё то сделать
John
А на тестах я не вижу проблем
yopp
ох
tenni
подход все же неверный. Ну это к холивару уже идет все.
CC-BY-SA-4.0/Docker-ce30.0
У докера появился gc.
Petro
Есть у кого видосики с старых курсов Mongo University? Или где можно посмотреть хорошие курсы по Mongo
Ruslan
ох
Дело говоришь, поддерживаю.
A
Привет всем, есть вопрос про субд, маленькая дилемма.
Допустим юзер может создавать так называемые компании, просто объект в бд и у этих компаний могут быть созвездия(массив с набором объектов)
Я думал как можно это красивее всего организовать и пришел к выводу сделать что-то типо отдельная запись для каждой компании(но не несколько записей на одну компанию) и внутри нее массив "множество созвездий" и уже внутри этого массива n-нное количество массивов с объектами
A
но сейчас я не особо уверен в правильности такой записи
A
"companyName" : "КряКря"
"constellations" : [
[{}],
[{}]
]
A
так наверное понятнее всего будет
Sergey
В чем вопрос-то?
A
правильно ли так будет
A
или же надо делать несколько записей на одну компанию
A
и в каждой отдельно созвездие
A
или же делать что-то типо
companyName: "Кря кря",
"constellations1": [{}],
"constellations2": [{}]
Sergey
Всё зависит от многих факторов, но в общем случае 1 запись на созвездие больше подходит для реляционных СУБД
A
так значит первая запись с массивами в массиве будет в данном случае будет наиболее правильной?
A
я просто только как месяц начал заниматься backendом и еще не всегда уверен в правильной субд
Sergey
Ну с выбором СУБД стоит быть посерьезней, чтобы потом не пришлось в срочном порядке всё переписывать
A
ну это проект как раз таки для трениворок, чтобы в будущем не было ситуаций о которых ты говоришь
A
если знаешь что грамотное можно почитать, то буду благодарен
Фенька
️lefrotite
{messages: {message_id: id, message_text: text},{message_id: id, message_text: text} ... }
How to SORT objects in MESSAGES by message_id?
Python
Nickolay
Sergey
a simple sorted() function in python will do its job well
CC-BY-SA-4.0/Docker-ce30.0
он умеет в русский.
CC-BY-SA-4.0/Docker-ce30.0
уже спрашивал тут какой-то энтрилевел вопрос.
CC-BY-SA-4.0/Docker-ce30.0
сабдокументы да, сортирни в питоне.
CC-BY-SA-4.0/Docker-ce30.0
тимсорт стабильный алгоритм
CC-BY-SA-4.0/Docker-ce30.0
достаточно быстрый.
ghett
воу воу, чятик оживает. Может быть, не зря я тут уже год, хоть в монге ни в зуб ногой (да - да) Мне прислали тестовое а ля "попробуйте разобраться в MERN" форкните гитхаб и пилите комменты к статье. Кто нить поможет мне освоить? Я пока дальше jquery не ходил, а у меня при установке сплошные эрроры (Fedora25)
Anonymous
ох уж эти нью фаги
Maxim
Привет. Есть коллекция, в которой хранятся документы в формате { firstName: "Имя", lastName: "Фамилия" }
Как можно сделать выборку по двум полям, чтобы можно было на сайте сделать поиск по строке "Имя Фамилия"
и совпадение не обязательно должно быть точным
Maxim
лучше отдельно поиск сделать используя какой нибудь сфинкс?
Maxim
да тут без разницы особой, интересно больше как сделать поиск по нескольким полям
Maxim
в голове пока только идея парсить поисковую строку и дальше искать по каждому ключу через $or
Maxim
наверное лучше вне монги такое делать..
Artem
Мне кажется вам нужны более специализированные решения типа ElasticSearch
Artem
Там и парсить ничего особо не придется. Главное правильно выбрать токенизаторы, токен фильтры
Maxim
ну да, я об этом и подумал изначально
Maxim
спасибо
Aleksey
господа а что то случилось с репой монги под деб/убунту ?
Aleksey
говорит пакеты невозможно аутентицировать
Jimmy
деб какой версии?
Aleksey
деб8 монго 3,2
Anonymous
Можно ли как-то человечески группировать данные в аггрегации по дням, неделям, месяцам?
Anonymous
Кстати, MongoDB Applied Design Patterns годная книга?
Viktor
@dd_bb привет, расскажи какую проблему на практике решает dbref? я пока не понял применения, если я везде могу таскать objectId (_id) зависимого документа
Sergey
Разве dbref - это не просто синтаксический сахар вокруг _id в драйвере?
Oleg
ребят привет. подскажите, есть ли какие то бэстпрактисес по архивированию старых данных в монге? не дамп\рестор
Sergey
Возможно, для ODM для связей между коллекциями
yopp
Id без коллекции не является полной ссылкой. DbRef решает эту проблему.
yopp
Т.е. это перенос информации об источнике данных из уровня приложения, в уровень субд.
yopp
По готовому стандарту
yopp
Плюс это даёт гибкость: можно хранить масссивы ссылок на разные коллекции например.
Юрий
Привет!
Не подскажите ли какие способы заставить монгу работать быстрее?
Есть коллекция, в которую кладутся простые документы. Индекс по _id.
Если документ уже есть, то он заменяется, если нет, то создается. Всё просто.
На деле столкнулся с проблемой, что работа скрипта замедляется в геометрической прогрессии.
Первый миллион документов обрабатывался за минуту-другую.
Сейчас 10млн документов и каждый следующий миллион вставляется или обновляется почти за час.
Скрипт на ноде. модуль - mongodb.
При анализе очередного миллиона документов, скрипт сначала вытаскивает уже записанные элементы, апдейтит их на своей стороне и кладет обратно в базу.
используются два метода
collection.findOne - что бы найти
collection.save - что бы добавить или заменить.
Может я что то упустил и делаю что то не так?
yopp
FindOne по каким полям?