Ilya
внутри times: []
Александр
а отчёт Вы по кому делаете?
Ilya
варианта 2: по проекту и по пользователю
Александр
Если по проекту то не важно кто поставил время, так?
Ilya
да, именно так
yopp
в агрегации $match, $unwind, $match
https://docs.mongodb.com/manual/reference/operator/aggregation/filter/
yopp
Не нужен $unwind
yopp
это очень дорого
yopp
если его и делать то после $filter
Александр
так даже лучше)
Ilya
спасибо:)
Ilya
буду пробовать)
Гена
Всем привет. Если дать ноде 0 приоритет и 0 голосов, она ж просто не сможет стать праймари и не сможет голосовать, верно? почему возник вопрос, в документации про это есть одна запись A priority 0 member is a member that cannot become primary and cannot trigger elections. Priority 0 members can acknowledge write operations issued with write concern of w : <number>. For "majority" write concern, the priority 0 member must also be a voting member (i.e. members[n].votes is greater than 0) to acknowledge the write. Non-voting replica set members (i.e. members[n].votes is 0) cannot contribute to acknowledging write operations with "majority" write concern.
Гена
у нас 6ти нодова конфигурация. Была 5ти, но 6ю добавили для сбора аналитики по тагу. Вот на 6ю ноду сделали 0 приоритет и 0 голосов, чтоб она вообще не участвовала в выборах
Ilya
подскажите кое что:) не понимаю как это сделать:)
Ilya
Ilya
у меня есть следующая структура
Ilya
как можно собрать статистику типо {id ответа: количество ответов}?
Ilya
а второй вопрос: как можно получить все комменты по id вопроса?
Ilya
хотя бы подскажите, для этого нужно посмотреть в сторону aggregate?
Ilya
Ilya
подскажите, почему эти 2 запроса не эквивалентны?:)
Daniil
подскажите, почему эти 2 запроса не эквивалентны?:)
Потому что не эквивалентны условия запроса. Если вы используете mongoose, то в aggregate он не будет конвертировать строки в ObjectId, это надо делать явно
Ilya
я понял, спасибо
Ilya
спасибо, помогло)
Веселый Роджер
Помогите рабораться с update механикой. я сделал запрос - db.col_lessons.update_one( {'_id':lesson_id}, {'$set':{f'files.{file}.sent_status':True}} ) Но вместо того, чтобы поменять False на True. У меня новый словарик создался
Веселый Роджер
{'_id': '0', 'count': None, 'date_created': 1591879392, 'date_last_updated': 1591879392, 'descr': 'Here will be some description', 'files': {'Decorators_0': {'_id': 'Decorators_0', 'date_created': 1591879392, 'date_last_updated': 1591879392, 'file_id_tg': None, 'sent_status': False, 'sys_link': 'H:\\\\Heavy_files\\\\Python_Lectures\\\\Videos\\\\0\\\\Decorators_0.mp4'}, "{'_id': '0', 'date_created': 1591879392, 'date_last_updated': 1591879392, 'name': 0, 'descr': 'Here will be some description', 'count': None, 'files': {'Decorators_0': {'_id': 'Decorators_0', 'date_created': 1591879392, 'date_last_updated': 1591879392, 'sys_link': 'H:\\\\\\\\Heavy_files\\\\\\\\Python_Lectures\\\\\\\\Videos\\\\\\\\0\\\\\\\\Decorators_0": {"mp4', 'sent_status': False, 'file_id_tg': None}}}": {'sent_status': True}}}, 'name': 0}
Александр
а что у Вас в переменной file?
Александр
судя по созданному ключу это строка "{'_id': '0', 'date_created': 1591879392, 'date_last_updated': 1591879392, 'name': 0, 'descr': 'Here will be some description', 'count': None, 'files': {'Decorators_0': {'_id': 'Decorators_0', 'date_created': 1591879392, 'date_last_updated': 1591879392, 'sys_link': 'H:\\\\\\\\Heavy_files\\\\\\\\Python_Lectures\\\\\\\\Videos\\\\\\\\0\\\\\\\\Decorators_0": {"mp4', 'sent_status': False, 'file_id_tg': None}}}"
Александр
{'_id':lesson_id}, {'$set':{f'files.{file["Decorators_0"]}.sent_status':True}} )
Веселый Роджер
а что у Вас в переменной file?
Вы решили мою боль. там должен быть file_name...Все работает. Спасибо!
Ilya
подскажите пожалуйста, у меня есть aggregate вот такого вида: aggregate([ {$match: {_id: mongoose.Types.ObjectId(req.body.id)}}, { $group: { _id: "$answers.questions.answerId", } }, {$unwind: "$_id"}, { $group: { _id: "$_id", count: {$sum: 1}, } } ]) он возвращает все нормально, но можно как то избавится от массива в _id?
Ilya
Ilya
Ilya
JSON вот такого плана
Александр
а это поле у Вас $answers.questions.answerId не массив?
Ilya
Неа, это просто objectid
Александр
А зачем тогда {$unwind: "$_id"}? Я не вижу где тут может создаваться массив
Александр
А я понял (плохо посмотрел второй скрин) Вот это сделайте дважды {$unwind: "$_id"},
VSH
народ надо помощь
VSH
у меня в есть Array comments[{}] в которых есть Array likes[{}], я делаю запрос на обновление данных в Array likes[],1ый раз все работает, а вот второй нет
VSH
счас скину фото
VSH
VSH
VSH
VSH
Daniil
Голосовые сообщения в публичном чате, жесть
Daniil
Проблема вся в том, что $ обновляет только первый элемент массива
Daniil
https://docs.mongodb.com/manual/reference/operator/update-array/
VSH
спасибо буду знать, что $ что только первый
VSH
Проблема вся в том, что $ обновляет только первый элемент массива
а как впихнуть сюда $[] нужный мне объект под именем comment
Anonymous
Привет ребят, делаю примитивную имиджборду, хочу сделать комментарии к комментариям любого уровня вложенности (как на рэддите). Написал заготовку на фронте, вот выглядит так:
S
всем привет ребятки может быть ктото разбирается в pymongo, подскажите чтоя делаю не так?
Anonymous
Привет ребят, делаю примитивную имиджборду, хочу сделать комментарии к комментариям любого уровня вложенности (как на рэддите). Написал заготовку на фронте, вот выглядит так:
Подскажите в каком виде это хранить в Монго, чтобы я мог к любому из этих постов достучаться (редактировать/удалить). Вот какую структуру нужно будет формировать на бэке
Anonymous
всем привет ребятки может быть ктото разбирается в pymongo, подскажите чтоя делаю не так?
Поставь четыре пробела перед строчкой, которую подчеркнули красным.
Anonymous
Блоки в питоне работают на основе отступов, в Си-подобных языках для определения блока код оборачивают в фигурные скобки, тут же просто отступами. С такими вопросами лучше в @ru_python_beginners
Anonymous
А есть чат по js?
Совершенно не вкурсе, сейчас делаю лабораторные на JS, изучаю по документации. Вот в теории данных, особенно нереляционных я хромаю, поэтому зашёл сюда со своим вопросом
Konstantin
Аа хорошо. Просто искал чатик по js, чтобы там поспрашивать людей, ладно спасибо
Konstantin
Anonymous
Подскажите в каком виде это хранить в Монго, чтобы я мог к любому из этих постов достучаться (редактировать/удалить). Вот какую структуру нужно будет формировать на бэке
Пока что вот какой паттерн нашёл https://docs.mongodb.com/manual/tutorial/model-tree-structures-with-parent-references/ Но пока не совсем понятно как например каждому комменту сделать автоинкрементальный айдишник, чтобы его сразу отображать
Anonymous
Привет ребят, делаю примитивную имиджборду, хочу сделать комментарии к комментариям любого уровня вложенности (как на рэддите). Написал заготовку на фронте, вот выглядит так:
В общем, имеется такая коллекция из 4 документов, я хочу получить из них структуру вида { title: "Post 1", reviews: [ {title: "Post 2", reviews: [ {title: "Post 3", reviews: []} ]}, {title: "Post 4"}, ] }
Anonymous
Я пробовал делать разные агрегации, но graphLookup всегда выдаёт плоскую структуру.
Anonymous
Также можно сделать обычным $lookup, он хотя-бы сохраняет структуру НО всё что глубже первого массива лежит обычным айдишником
Anonymous
Стрелкой указал где обычный id, хотя должен быть подставленный док
Dezmunt
findAndModify может несколько документов найти и изменить? он же ищет также как find?
Bogdan
Model.updateMany = ({}, {cid: ""}, function(err) { ... }); или Model.update({},{cid: ""},{multi: true});
Dezmunt
updateMany не вернет мне старой коллекции
Захар
как коротко и лаконично получить последнюю запись из бд?
Rostyslav Pidburachynskyi 🇺🇦🍉
Всем привет, как можно достать только те елементы, у которых, в масиве, последний объект имеет определенное значения. Нужно (к примеру), достать только тех, у которых последний элемент в масиве имеет {status: "received"}
Rostyslav Pidburachynskyi 🇺🇦🍉
Dezmunt
попробуй $elemMatch
Rostyslav Pidburachynskyi 🇺🇦🍉
попробуй $elemMatch
Сейчас попробую.
Rostyslav Pidburachynskyi 🇺🇦🍉
попробуй $elemMatch
Но как тогда прилепить это к statuses: { $slice: -1 }