Stepan
А можно ссылочку на монстрячное решение? А то на SO рабочий только вариант с созданием дополнительной коллекции через mapReduce и затем aggregate. Что очень накладно, если начальная коллекция огромная
Alexander
момент
Alexander
db.transactions.aggregate([ { $match: { "order": { $exists: true }, } }, { $project: { order_ref: { $slice: [ {$objectToArray: "$$ROOT.order"} , 1, 1], }, } }, { $unwind: "$order_ref" }, { $lookup: { from: "orders", localField: "order_ref.v", foreignField: "_id", as: "order_doc" } }, { $unwind: "$order_doc" }, ]).limit(25)
Alexander
но сейчас нашел еще решение без использования слайса и последующего анвинда
Alexander
поиграюсь
Stepan
Ага, понятно. Спасибо
Alexander
db.transactions.aggregate([ { $match: { "order": { $exists: true }, } }, { $project: { order_ref: { $arrayToObject: { $map: { input: { $objectToArray: "$$ROOT.order" }, in: { k:{$cond:[ {$eq:[{"$substrCP":["$$this.k",0,1]},{$literal:"$"}]}, {$substrCP:["$$this.k",1,{$strLenCP:"$$this.k"}]}, "$$this.k" ]}, v: "$$this.v" } } } }, } }, { $lookup: { from: "orders", localField: "order_ref.id", foreignField: "_id", as: "order_doc" } }, { $unwind: "$order_doc" } ]).limit(25)
Alexander
вот такое еще нашел
Alexander
выглядит только пострашнее )
yopp
О. Никто в Лондоне в ноябре на MongoDB Europe не хочет встретиться? https://www.mongodb.com/europe17?jmp=twt
yopp
До 22 июля билет 129 фунтов вместо 199
Aleksey
@dd_bb мне отчегого казалось что mongo_collection_count в твоём сборщике вернет int
Max
чатик хочу поделиться своим "открытием". НЕ ДЕЛАЙТЕ КОПИЮ БОЛЬШИХ МОНГО БАЗ В РЕПЛИКЕ ЧЕРЕЗ СНАПШОТЫ ДИСКОВ АМАЗОНА (сорри за капс). Свежесоздатый volume имеет ультрасупермедленный IO. Если важна *контролируемая скорость* - базу на md raid и вливайте данные на новые диски через md. может это все знают. но вот я жиденько обделался
Aleksey
а он показывает колво документов.
Aleksey
и это внезапность
yopp
Ом.
Aleksey
mongo_collection_count
Aleksey
конечно
Aleksey
откуда там куррент не понятно
Aleksey
вот mongo_collection_indexes_count показывает колво индексов.
Aleksey
всё гуд
Aleksey
а от mongo_collection_count ждешь у нас в базе такой то 10 коллекций
Aleksey
есть сомнения в том что mongo_rs_lag_seconds может быть отрицательным. но он бывает таким
Aleksey
@dd_bb сюда https://github.com/prometheus/prometheus/wiki/Default-port-allocations экспортер добавлю ок ?
Aleksey
Может. Дрифт часов
ок. согласен. проверю
yopp
а от mongo_collection_count ждешь у нас в базе такой то 10 коллекций
Заведи ишшуй с описанием проблемы, я проверю. Мог отпечататься в конвертилке
Aleksey
сдаюсь не могу найти в этой шайтан машине как поменять дефолтный порт.
Aleksey
9277 - Mongo collection exporter
yopp
-p вроде
yopp
В ридми есть
Aleksey
да есть есть. я просто пул хотел сделать что бы екпортер на ппраивльный порт срау вешался
yopp
Stable: 3.4.6 (Jul 5, 2017), Bugfix: 3.2.15 (Jul 5, 2017) 3.4.6: https://docs.mongodb.com/manual/release-notes/3.4/#jul-5-2017 3.2.15: https://docs.mongodb.com/manual/release-notes/3.2/#jul-5-2017 Пришло время обновляться до 3.4.1+: https://aphyr.com/posts/338-jepsen-mongodb-3-4-0-rc3
tenni
3.2 тип oldstable
tenni
почитай пост блога в шапке, сразу поймешь все :)
Sergey
Ну на сайте у них 3.4.6 с пометкой stable.
Aleksey
3,2,15 для Redhat снова хренова положили.
Aleksey
не качаетсо
Aleksey
https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.2/x86_64/RPMS/mongodb-org-tools-3.2.15-1.el7.x86_64.rpm: [Errno -1] Package does not match intended download. Suggestion: run yum —enablerepo=mongodb clean metadata
yopp
Эээ... 3.4 разве не stable?
У них дурацкая система: они поддерживают две ветки. Одна текущая, другая стабильная. Т.е в стабильную ветку уже ничего не добавят, а вот в текущую добавляют.
yopp
И ещё есть экспериментальная ветка, которая 3.5
yopp
Назвали бы 3.2 LTS и всё норм бы было
Sergey
Ну я так понял, что после выхода 3.6 они 3.2 забросят, то есть это не совсем LTS.
Sergey
Oldstable или bugfix
tenni
угу, как у микротика
yopp
Bugfix it is
yopp
Кек. Припиненные сообщения перестали редактироваться
yopp
Stable: 3.4.6 (Jul 5, 2017), Bugfix: 3.2.15 (Jul 5, 2017) 3.4.6: https://docs.mongodb.com/manual/release-notes/3.4/#jul-5-2017 3.2.15: https://docs.mongodb.com/manual/release-notes/3.2/#jul-5-2017 Пришло время обновляться до 3.4.1+: https://aphyr.com/posts/338-jepsen-mongodb-3-4-0-rc3
ghett
не буду выёбываться, у меня реально шанс есть работу получить, я просто ехал с чуваками, а один из них разраб, сидят общаются, "интерфейсы". да "интерфейсы" всё, я возьми и спроси, оставил он свои координаты, разрабатывают на метеоре
ghett
статья из вики в целом описала происходящее, монгу в тексте я встретил позже чем о ней подумал
Alexander
а чего спросил-то?
ghett
спросил, возможно ли позже связаться с ним и предложить свою кандидатуру
ghett
типа на работу к ним пойти, же
ghett
ну и грю, на чём кодите, он грит метеор, типа разработка бастрая,все дела. Но я смотрю в метеоре вообще упор на реал тайМ, это чё типа, всякие графики валют мне на ум приходят
ghett
котировки шмотировки и т.д. кто работал с метеором, дайти руководства, линк на группу телеги и всё чот по этой теме ест
Denis
У меня 'коллеги' пишут на метеоре то что в принципе можно и без него писать
Denis
Так что хз че они там конкретно пишут и насколько по назначению
Timur
Есть один большой опенсорс проект на метеоре, можно на него посмотреть https://github.com/RocketChat/Rocket.Chat
Denis
коллеги в кавычках потому что от одного заказчика на апворке, но немного над разными вещами работаем, не смотрел код их
Aleksey
https://telegram.me/joinchat/A2LexD9ABOY-KJhzKA4L3g
чо супергруппу то не осилили ?
Ilya
без понятия
Артём
Это правда что для монги 64битная ось нужна? Удалось поставить 2.x.x какую-то там
Артём
Сильно она прожорлива по памяти? 512мб хватит для небольшого проекта? Но с частым обновлением данных прям очень и соответственно с чтением. Так же с большим трафиком
Roman
Вроде бы больше всего памяти индексы выжирают
Артём
если не секрет, какой у кого трафик и на сколько монга загруженна, на каком сервере и как она вообще в деле
Roman
Траффик большой - и это самое узкое место у нас
CC-BY-SA-4.0/Docker-ce30.0
А где вообще встречаются 32-битные оси
Артём
у меня небольшая vds'ka
tenni
купите нормальную, ну пиво не попьете
Кукурузный
Это правда что для монги 64битная ось нужна? Удалось поставить 2.x.x какую-то там
Wired Tiger требует 64, можно собрать из сорцов, без тигра, но там до версии 3.2 вроде
yopp
Но зачем?! За три бакса у овх можно взять 64 битную виртуалку с 2гб оперативы
Dmitry
А нет...прикольно
Timur
А есть чат по mongoose? А то здесь оффтопик будет, наверное.
Timur
Хотя все-таки попробую. Если у меня есть вложенные документы и я хочу по ним поиск делать по их id. Имеет смысл создать отдельную коллекцию со ссылками на id родительского документа? Или просто индекса на вложенный документ хватит?