Vladimir
Фак о.О Спс!
Андрей
db.collection_name.find( { _id: "1" }, { field1: 1, field2: 1 } )
А как в python тожесамое написать
Андрей
Если просто через запятую то второй аргумент сессия
Андрей
А если в лист обернуть то ошибка
Андрей
Ожидается dict
Андрей
Уже нашёл причну
Андрей
Не так мокнул объект
Андрей
Поэтому там и не коллекция была
Михаил
=)
Serhii
Ребятки, нужна помощь. Есть документ, который может содержать ссылку на себеподобный документ и так, теоретически до безконечности. Как при таком раскладе достать обьект со всеми вложеностями?
Andrey
а что за бизнес модель данных если не секрет?
Serhii
сообщение и ответ на сообщение
Nick
https://docs.mongodb.com/manual/reference/operator/aggregation/graphLookup/
yopp
Ветки комментариев это MP
Serhii
Спасибо) Тогда еще вопрос, как вообще архитектурно такое правильно организовывается?
Serhii
И правильно ли это хранить айди сообщения в теле сообщения при возможной безконечной вложености?
yopp
Почитайте ссылку
yopp
Конкретно про комментарии ещё есть https://docs.mongodb.com/ecosystem/use-cases/storing-comments/
Serhii
Еще раз спасибо, пошел учить)
Andrey
можно хранить в плоском списке в виде доков (тело и прочие атрибуты) + сами деревья, мы в реддит примерно так и делаем
Andrey
то есть никаких расчетов и каскадных операций на запрос, все в фоне и с возможностью доступа к каждому комментарию за константу
Andrey
если совсем хайлоад, то посмотри в сторону splay деревьев, вроде бы контакт так хранит сообщения, они у них древовидные в отличие от топиков на стене
Andrey
сообщение отдельно, каждый из комментариев отдельно, дерево их описывающее тоже отдельно (дерево - один документ, id вычисляется из id самого первого поста/сообщения)
Andrey
дерево содержит id без тел и составлено исходят из потребностей ленивой загрузки
Serhii
понял, интересно, спасибо)
Andrey
@dd_bb а митапа в мск в итоге не было по теме внутреннего устройства монги?
yopp
Нет, не было. Помещение не нашлось, но я и не особо искал.
yopp
Я с радостью где-то выступлю, но на организацию у меня нет ни времени, ни сил, ни желания
yopp
В спб очень редко. Завтра-послезавтра я в Сочи/Адлере. С понедельника по среду включительно в Москве, потом обратно на Балканы. Потом опять в Москву, но не знаю точно когда. В начале апреля где-то
yopp
У меня есть несколько обучающих программ, с которыми я могу приехать куда закажете ;) от 2 тыщ евро + билеты и проживание. В перерыве я могу на публику бесплатно хоть Маяковского декларировать
yopp
Никакого фанатизма, один прагматизм
yopp
Русский или английский
Alexander
тут по большей части народ на митапы собирается. разве что на конференцию какую-нибудь...
Anonymous
Есть возможность сделать updateMany чтоб из поля-массива удалить значения по регулярке?
Nick
У меня есть несколько обучающих программ, с которыми я могу приехать куда закажете ;) от 2 тыщ евро + билеты и проживание. В перерыве я могу на публику бесплатно хоть Маяковского декларировать
оффтоп. тут в мск по последним воскресеньям месяца с апреля по октябрь проходят маяковские чтения возле памятника Маяковскому. Собственно народ приходит и читает на публику и свое и не свое
Nick
можно хранить в плоском списке в виде доков (тело и прочие атрибуты) + сами деревья, мы в реддит примерно так и делаем
человек из реддита знач, по объемам и нагрузке не спалите скока на монгу приходится?
Andrey
не монга
Andrey
монга это собственный проект
Andrey
а мы используем Кассандра и постгрес
Andrey
https://www.reddit.com/r/sysadmin/comments/9x577m/were_reddits_infrastructure_team_ask_us_anything/?utm_medium=android_app&utm_source=share
Andrey
секретов особо нет, можно задавать и наши infra инженеры будут отвечать
Andrey
это не единственный пост, в 2016 точно помню было, может и раньше так что можно сравнить как менялись нагрузки и технологии
Nick
спасибо за ссылочку, почитаю что там пока написано
Yury
Друзья, не подскажите, почему запрос такой медленный? Можно как нибудь оптимизировать? :-) https://pastebin.com/T32nPwjN
Yury
withLocation это индекс
Nick
Медленно это как определяется?
Yury
Ну мне нужен 1 документ, поиск по индексам, кажется что это должно происходить несколько быстрее чем за 500мс?
Yury
Или это не медленно? :-)
Yury
В шардированной коллекции 14М документов
Nick
'projection': { '$sortKey': { '$meta': 'sortKey' } },
Nick
что такое зчем надо?
Nick
и да по плану у вас 200мс тратися на получение данных с диска
Nick
так что видимо много данных
Yury
'projection': { '$sortKey': { '$meta': 'sortKey' } },
Хм, не знаю, у меня просто find запрос, странно..
Nick
видимо монговские приколюхи, выборка 120к данных с сортировкой за 500мс не так и плохо
Yury
Ладно, наверное я смогу айдишник документа кешировать и по айдишнику его получать. Просто порой так неочевидно, почему один из 100 запросов начинает вы***ваться, а другие ок.
Nick
потому что данные для этого запроса лежат на диске
Asliddin
λ
Помогите разобратся. Есть {_id: 1, title: "Hello"}, {_id: 2, title: "World"} и {uuid: …, articleId: 1, filePath: ""}, {uuid: …, articleId: 2, filePath: ""}
λ
Как подсчитать все изображения с aticleId: [1, 2, 3]?
λ
Пока пытаюсь разобратся с таким запросом db.images.aggregate([ {$match: {articleId: { $in: [1, 3]}}}, {$group: {_id: null, imagesCount: 1}} ])
λ
Просто вынул, сгрупировал все и "смапил" кодом ;-Ъ
Ruslan
Ура! Монга на андроиде
AstraSerg
Ура! Монга на андроиде
Изрядно батарейки сожрала :) а как это вы сделали ?
🔰ш
А где-то в телеге есть канал по mongoose?
🔰ш
Или вы тут шарите?
🔰ш
Как мне сделать геттеры и сеттеры для подобной шняги?
🔰ш
Потому что к великому сожалению монго не вывозит подобные схемы
🔰ш
🔰ш
Как мне сделать геттеры и сеттеры для подобной шняги?
А для вот этой схемы такая фигня получается Error: TypeError: Invalid schema configuration: Get is not a valid type at path customization.get. See http://bit.ly/mongoose-schematypes for a list of valid schema types.
AstraSerg