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.
может это все знают.
но вот я
жиденько обделался
yopp
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 экспортер добавлю ок ?
yopp
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
Sergey
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
коллеги в кавычках потому что от одного заказчика на апворке, но немного над разными вещами работаем, не смотрел код их
Ilya
Aleksey
Ilya
без понятия
yopp
tenni
Артём
Это правда что для монги 64битная ось нужна? Удалось поставить 2.x.x какую-то там
Артём
Сильно она прожорлива по памяти? 512мб хватит для небольшого проекта? Но с частым обновлением данных прям очень и соответственно с чтением. Так же с большим трафиком
Roman
Вроде бы больше всего памяти индексы выжирают
Артём
если не секрет, какой у кого трафик и на сколько монга загруженна, на каком сервере и как она вообще в деле
Roman
Траффик большой - и это самое узкое место у нас
CC-BY-SA-4.0/Docker-ce30.0
А где вообще встречаются 32-битные оси
Артём
у меня небольшая vds'ka
tenni
купите нормальную, ну пиво не попьете
yopp
Но зачем?! За три бакса у овх можно взять 64 битную виртуалку с 2гб оперативы
Dmitry
Dmitry
А нет...прикольно
Timur
А есть чат по mongoose? А то здесь оффтопик будет, наверное.
Timur
Хотя все-таки попробую. Если у меня есть вложенные документы и я хочу по ним поиск делать по их id. Имеет смысл создать отдельную коллекцию со ссылками на id родительского документа? Или просто индекса на вложенный документ хватит?