Alexandrr
https://stackoverflow.com/questions/36854566/why-mongodump-does-not-backup-indexes https://stackoverflow.com/questions/67427311/mongodb-backups-expire-data-from-collections-by-setting-ttl прочтитет ответы тут
спасибо, но ответа на мой вопрос там нет. там есть про "неудаляемость" данных в дампе, понятно почему и так, вопрос был в другом, каким образом монга начнёт интерпретировать TTL после восстановления. сразу пойдёт "шквал удалений", так как время изменилось на машине или продолжит тикать таймер?
Alexandrr
По моей логике, она удалит данные
таймеры оттолкнутся же от: текущая дата на тачке - дата создания документа >= количество времени заданное для экспайра так по идее? или там отдельные воркеры занимаются мониторингом?
Dmitry
таймеры оттолкнутся же от: текущая дата на тачке - дата создания документа >= количество времени заданное для экспайра так по идее? или там отдельные воркеры занимаются мониторингом?
Не знаю как оно работает, но один раз в схеме монгус не правильные настройки прокинул и заметил, что он не сразу запись чистил, а спустя время. Моя логика заключается в том, что есть отдельный процесс, который сопоставляет настройки ttl + date на текущей машине и date в записи и если оно превышает, то удаляет запись
Dmitry
https://www.mongodb.com/docs/manual/core/index-ttl/#delete-operations
Alexandrr
почему бы не сделать простой тест?
потому что, я инженер, я должен знать - как это работает, а тест не даст понимания абсолютно ни какого - как это работает
Alexandrr
background thread тред, это не процесс спасибо
Влад
потому что, я инженер, я должен знать - как это работает, а тест не даст понимания абсолютно ни какого - как это работает
т.е в твоем понимании протестировав это в реальных условиях, ты не поймешь процесс исходя из результата? чет такой себе ты инженер значит
Alexandrr
т.е в твоем понимании протестировав это в реальных условиях, ты не поймешь процесс исходя из результата? чет такой себе ты инженер значит
чего? ты понял, что ты написал? попробуй прочитать, и ответь себе на вопрос: каким образом, то что ты написал, поможет понять - как работает реализация?
Mike
Такой вопрос: const client = new MongoClient('mongodb://127.0.0.1:27017/'); await client.connect(); дисконект необходимо делать после отработки каждого скрипта при работе с монгой и запусками нескольких модулей с подобным подключением?
Hovo
привет, всем, как написать запрос что бы вернулась только документ male? не так names : {male: []} а именно толко отдельно male: []
Hovo
names: { male: [], female: [] }
Yaroslav
names: { male: [], female: [] }
db.collection('yourcollection').find({}, {'names.male':1})
Hovo
db.collection('yourcollection').find({}, {'names.male':1})
так возврошает в таком виде names : {male: []}
Hovo
мне нужно отдельно male: []
Yaroslav
Такой вопрос: const client = new MongoClient('mongodb://127.0.0.1:27017/'); await client.connect(); дисконект необходимо делать после отработки каждого скрипта при работе с монгой и запусками нескольких модулей с подобным подключением?
Коннект можно прокидывать внутри приложения и использовать, а вот когда заканчивается работа вашего приложения, то делать выход из приложения - gracefull shutdown
Yaroslav
мне нужно отдельно male: []
В конце ещё добавь метод map
Hovo
спасибо
Самиева
Привет, есть проблема. У меня есть страница книги, где можно менять рейтинг книги, и мне нужно проверить - менял ли пользователь уже рейтинг, юзерники, которые повлияли(изменяли рейтинг) я храню в ratingClick:[name,name,name]. Я составил идиотский велосипед для проверки, но понимаю, что это нубство, если ли какой метод проверить, подскажите
Anonymous
Ребят, есть новички, которые хотят пополнить портфолио? Есть лёгкий пет проект
Anonymous
(Интернет магазин)
😳
Вопрос, есть две коллекции, со статьями и их оценками, мне нужно вывести одну статью где оценка = 5, как это сделать?
😳
спасибо
😳
но оценки находятся в другом документе
😳
и по сути в документе с оценками мне нужно получить id статьи где avg всех оценок = 5 а только потом ее вывести
😳
а вот как это сделать в агреграции
😳
вот с lookup не получается
😳
потому что _id это ObjectId, а в другом документе id это просто строка
Dmitry
toString или toObjectId
😳
toString или toObjectId
в агрегации так можно?
😳
Да
а есть пример
😳
или что то в этом духе?
😳
потому что мне все равно ничего не выводит
😳
пустой массив
Dmitry
а есть пример
В google заблокировали? https://www.mongodb.com/docs/manual/reference/operator/aggregation/toString/
Dmitry
Он не нашел куда ему обратиться, чтобы подключиться
Dmitry
Запрос отправлен, а ответа нет
😳
а блин а как теперь посчитать среднюю из всех оценок и вывести ток ту где 5
Dmitry
Если ты запустил на VPS / Хостинг / Облако и т.д., а пытаешься подключиться с другого ПК, то ты должен указать ip где ты развернул монгу
Dmitry
А чтобы окончательно убедиться, [localhost или ip]:port то появится надпись, что mongo не обслуживает http подключение на английском языке
Dmitry
Что ты не понимаешь, монга не доступна для тебя либо если ты подключаешься к удаленному серверну не правильный ip прописал
Alexandrr
у тебя порт открыт на локалхост, а не на внешку)
Dmitry
у тебя порт открыт на локалхост, а не на внешку)
Он через запятую указал, ещё один ip
Alexandrr
Он через запятую указал, ещё один ip
там в статье говорится, что через ссш подключаешься, а потом коннектишься на локалхосте, а не сразу с внешки в субд напрямую
Dmitry
У тебя mongo закрыта для подключений, тебе об этом выше несколько раз сказали
Alexandrr
Типа передать ему айди книг которые он оценивал?
это когда запрашиваем общую инфу об аккаунте (например, в личном кабинете - список лайкнутых книг), а в иных случаях, просто нужно сходить к юзер_инстансу и проверить - есть-ли айдишник такой-то книги в массиве, если есть, то прислать в ответ is_liked: True в обратном порядке, если хранить на каждой книге, кто её лайкнул - у тебя очень быстро "вес объекта книги" вырастет
Alexandrr
@daimne300baksov а когда в "условном личном кабинете" запрашиваем с фронта инфу о "какие книги лайкнул пользователь", что бы отобразить список, можно пагинацию сделать, и не будет нужно весь массив сразу слать, засерая канал передачи данных и нагружая и клиента и сервер
iWatchYouFromAfar
ребят, подскажите пожалуйста инструмент для визуализации связей таблиц в монге
iWatchYouFromAfar
так связей нету, втф?
ну я имею ввиду, когда я создаю коллекцию, которая завязана на записях других коллекций
Vladyslav
ну я имею ввиду, когда я создаю коллекцию, которая завязана на записях других коллекций
нету таких тулов, Можешь просто открыть любой сервис построения диаграмм и рисовать себе
Max
Добрый день, как должен выглядеть запрос для получения документа у которого например параметр index самое больше число из всех документов?
Max
Такое вобще возможно сделать?
Dmitry
Можете получше объяснить, что вы хотите сделать
Max
Нужно получить документ у которого значение index самое большое число
Max
Сделал через sort max, но насколько это эффективно, вопрос
Nick
Сделал через sort max, но насколько это эффективно, вопрос
если есть индекс по полю - максимально эффективно.
Глеб
Привет всем. Можно ли как - то вытащить пароль уже от созданного юзера?
qaınar
всем привет. есть такая проблема. Нужно удалять записи в коллекции если они не были обновлены в течении 3 часа. Есть пару идеи: 1. с помощью TTL 2. лиюо с помощью крон
Aryn
qaınar
какой из вариантов будет лучше или есть еще другие варианты? И не сильно ли будет бить по серваку
yopp
вот такой интересный вопрос. есть коллекция с TTL индексом, в котором указано время жизни (а не дата, когда) если я делаю дамп, а потом через "некоторое время" загружу его на другой машине, то монга посчитает их с истёкшим TTL или продолжит отсчёт после загрузки дампа? либо отталкиваясь от времени на машине, сравнит TTL и разницу между "дата создания документа" и "текущая дата на машине"?
отдельный тред удаляет данные, если память не изменяет, то раз в минуту. он выбирает документы у которых значение поля по которому построен TTL индекс, равно или больше текущего времени + значения expireAfterSeconds. Если сделать дамп, а потом его загрузить обратно, то если дата + expireAfterSeconds будет в прошлом, то тред начнёт удалять документы
Vladyslav
qaınar
спасибо за ответы, чекну