Simon
В 1000000 раз быстрее
Nick
а, а то сбило с толку что не оптейн)
Максим
оо вс' парни, разобрался спасибо всем!
Максим
я забыл что axios может получить responce который содержит созданный объект
Максим
из него я и достал id
Максим
раз суда я попал, еще спрошу. Какая программа лучше для просмотра бд, Robo 3T / Studio 3T или Compas ?
Максим
а там запросы CRUD?
Максим
как в postman?
Alexey
Коллеги, добрый день. У меня есть вопрос про ограничение времени жизни коннекта к монге. Используем 4.2 в один инстанс (это своеобразная "реплика", восстановленная из дампа с продовыми данными). К инстансу будут подключаться разработчики с локальных машин в ридонли-доступе. Боевой нагрузки на инстансе не будет. Необходимо ограничить максимальное время жизни коннекта N (пусть 30) минутами (требование безов). Не нашёл подходящей опции а ля maxConnectionLifeTime. Думал, что крон-скрипт на машине, который получит текущие коннекты и убьёт те, что старше 30 минут, подойдёт, но db.runCommand( { killAllSessions: [] } ) и db.runCommand( { killSessions: [ { id: UUID("3f032169-2977-4fbb-9a6f-86522a93a7eb") } ] } ) хоть и отрабатывают успешно, но никакого эффекта не приносят. Через соответствующие ранее открытые сессии я по-прежнему могу выполнять запросы. Подскажите, пожалуйста, куда копать.
Nick
а там запросы CRUD?
все в монговской нотации
Nick
Коллеги, добрый день. У меня есть вопрос про ограничение времени жизни коннекта к монге. Используем 4.2 в один инстанс (это своеобразная "реплика", восстановленная из дампа с продовыми данными). К инстансу будут подключаться разработчики с локальных машин в ридонли-доступе. Боевой нагрузки на инстансе не будет. Необходимо ограничить максимальное время жизни коннекта N (пусть 30) минутами (требование безов). Не нашёл подходящей опции а ля maxConnectionLifeTime. Думал, что крон-скрипт на машине, который получит текущие коннекты и убьёт те, что старше 30 минут, подойдёт, но db.runCommand( { killAllSessions: [] } ) и db.runCommand( { killSessions: [ { id: UUID("3f032169-2977-4fbb-9a6f-86522a93a7eb") } ] } ) хоть и отрабатывают успешно, но никакого эффекта не приносят. Через соответствующие ранее открытые сессии я по-прежнему могу выполнять запросы. Подскажите, пожалуйста, куда копать.
копать для начала до 4.2 хотя бы, а то 3.6 уже не патчится и у безы должны быть в первую очередь эти вопросы. Стандартного механзма думаю не найдете, потому что killSessions в первую очередь нужны чтобы прибить session (https://docs.mongodb.com/manual/reference/method/Session/) а не коннекты юзерские. Поэтому вам стоит для начала у безы запросить какие риски они видят в том что не будет такого механизма, потом сесть с руководителем и оценить готовы ли вы принять такие риски. Возможно достаточно сделать обезличивание после восстановления дампа и это закроет ваши риски. Если же вам достаточно контролировать длительность tcp коннектов и обрубать их через 30 минут, то можно поставить чтонить сетевое или какуюнить хапросю чтобы принудительно рубить коннект
Alexey
Про 3.6.2 ошибся, 4.2 сейчас. Благодарю за совет. Подумаю про tcp коннекты и обфускацию.
Андрей
Коллеги, добрый день. У меня есть вопрос про ограничение времени жизни коннекта к монге. Используем 4.2 в один инстанс (это своеобразная "реплика", восстановленная из дампа с продовыми данными). К инстансу будут подключаться разработчики с локальных машин в ридонли-доступе. Боевой нагрузки на инстансе не будет. Необходимо ограничить максимальное время жизни коннекта N (пусть 30) минутами (требование безов). Не нашёл подходящей опции а ля maxConnectionLifeTime. Думал, что крон-скрипт на машине, который получит текущие коннекты и убьёт те, что старше 30 минут, подойдёт, но db.runCommand( { killAllSessions: [] } ) и db.runCommand( { killSessions: [ { id: UUID("3f032169-2977-4fbb-9a6f-86522a93a7eb") } ] } ) хоть и отрабатывают успешно, но никакого эффекта не приносят. Через соответствующие ранее открытые сессии я по-прежнему могу выполнять запросы. Подскажите, пожалуйста, куда копать.
Средствами СУБД не нарулить помоему. Это задача для безопасников на уровне сети софтово или хардово.
Konstantin
коллеги, всем привет, первый раз взялся за монгу в новом проекте и уже какой-то непонятный косяк словил. в $jsonSchema описано поле с bsonType: 'date', сохраняю в него '$$NOW' и ловлю ошибку валидации. меняю на new Date() – сохраняется ¯\_(ツ)_/¯ как так? почему? это вообще нормально?
Dima
как можно пофиксить это, хочу хранить массив обьектов?
Dima
Dima
использую "@typegoose/typegoose": "^8.3.0",
Danila
Привет, подскажите стоит доверять этому решению https://github.com/SRoddis/Mongo.Migration для миграций на C#? Мб кто уже использовал.
Danila
Я правильно понимаю что все кто на NoSQL, каждый раз при обновлении моделей/клиента, вручную пишут скрипты обновления данных в бд Up()/Down() (в сравнении с entity framework/ update-database).
Danila
обычно не пишут и просто делают код всеядным
хм ок, а проблема с автоинкерементом я так понял решается с помощью отдельной коллекцией с 1 документом в котором записан последний ID?
Nick
хм ок, а проблема с автоинкерементом я так понял решается с помощью отдельной коллекцией с 1 документом в котором записан последний ID?
проблема с автоинкрементом решается не использованием автоинкремента и уж если без него прям ваще нельзя, то да извращения в виде доп коллекции
Danila
Aʙduxᴀlilᴏv ☾
Здравствуйте знатоки группы. Вчера зарегал себе удаленную базу монго дб с памятью 512 мб вчера все подключалось хорошо но когда сегодня хотел подключиться то вышла такая проблема pymongo.errors.ServerSelectionTimeoutError Подключаюсь таким образом: mongodb+srv://<username>:<password>@cluster0.hwzgp.mongodb.net/myFirstDatabase?retryWrites=true&w=majority
Aʙduxᴀlilᴏv ☾
В настройках сервера есть такая опция
Artem
Да, там будет в вкладе security вроде
Aʙduxᴀlilᴏv ☾
Artem
Да
Aʙduxᴀlilᴏv ☾
Да
Ураа спасибо большое
Bogdan
Всем ку, подскажите пожалуйста зеленому как правильно организовать локальное окружение для монги Засунул её в docker и хочу делать типа dumb что бы всё записывалось и считывалось с одной папки а потом я мог другому человек скинуть и он мог продолжать работать с этими данными
Bogdan
Или нужно что то типа seeds сделать
Ведьма
ecm:id
Bogdan
Какого проекта?
Ну в моем проекте сделать dumb и от туда считывать, я помню делал такое с sql
Bogdan
Объясните, что вы хотите? Сделать dump базы?
Я неправильно задал вопрос, что именно я должен буду скидывать другому человеку что бы он мог продолжать работу, и куда он это должен закинуть?
Andrey
1. При любом способе "развертывания" mongodb - cделать dump конкретной базы - через mongo-tools? https://github.com/mongodb/mongo-tools/tree/master/mongodump Другому человека передать этот дамп, он должен иметь свою монгу и через https://github.com/mongodb/mongo-tools/tree/master/mongoimport залить ваш дамп к себе. 2. Вы изначально поднимаете mongodb в контейнере с помощью докера, смотрите на https://hub.docker.com/_/mongo в сторону Where to Store Data. Наполняете вашу базу данными. Потом стопорите контейнер, и ту директорию - куда смонтировали, пакуете и передаете человеку. Человек распаковывает где-то у себя вашу диреторию, ее указывает при монтирование при старте контейнера с тем же образом монги и запускает.
Andrey
Есть еще способы с контейнерами, но что я указал, на мой взгляд, самый оптимальный способ.
Aleksandr
Есть докер1 и смонтированный том1. Стопаем докер, делаем архив из папки. Передаём. На той стороне стартуем точно такой же контейнер с точно таким же томом, куда разархивируем полученный архив. Все.
Aleksandr
Не надо никаких экспортов независимо от того докерная монга или нет
Andrey
Aleksandr
Вник. Протупил
Aleksandr
Еще рекомендуется использовать pbm вместо mongodump
Andrey
Еще рекомендуется использовать pbm вместо mongodump
не знаю что это такое, есть ссылка, я использую, что на гитхабе от разрабов монги.
Aleksandr
Percona backup manager
Aleksandr
Работает быстрее, умеет в инкременты
Aleksandr
Соврал
Aleksandr
Percona Backup for MongoDB
Aleksandr
https://www.percona.com/blog/2020/09/18/mongodb-backup-best-practices/
Aleksandr
Умеет из коробки в s3 (мы на minio)
Aleksandr
Хорошо работает с репликами - через базу агенты обмениваются информацией о состоянии бекапа
Max
Всем привет. Я каждому пользователю обновляю ключ ranking. (его место в рейтинге среди других пользователей). Это занимает довольно много времени так как пользователей в базе данных уже 40. Может кто-нибудь посоветовать альтернативные решения или оптимизацию данной операции? Буду благодарен.
Max
Можно как-то отсортировать коллекцию а потом добавить каждому документу ключ со значением которое увеличивается до последнего документа?
Alexander
Добрый вечер, кто может подсказать, есть у меня после агрегации массив айтемов с заявками которые соответствуют фильтру, хочется иметь не живые данные а просто кол-во таких заявок в поле orders ( оператор $count как я понял ), только как его добавить не ясно
Alexander
Google
Всем привет можете помочь как можно сделать сортировку, у меня в базе есть статусы в статусе есть одинаковые ID при FIND получаю 3 шт но я хочу сортировать по второй ID так не получается не работает
Google
как исправить можете помочь ?
Google
Google
есть два ид в дб первый есть одинаковые а на второй нету
Google
я должен сперва пройти первый а потом второй если второй совподает потом вывести
Google
я должен из списка вывести который равны на этот ID как сделать ?