Я пытаюсь взять mongodump из коллекций за последние 24 часа, используя bash, но получаю ошибки, так как я не могу использовать пользовательскую дату в параметре запроса оператора mongodump.mongodump с датой в параметре запроса с использованием сценария оболочки
timeInMs=$(expr "$(date +'%s%3N')" - 86400000)
mongodump -u user -p password --authenticationDatabase admin --db dbname -c collection --query '{startTime:{$gte:new Date(${timeInMs})}}'
timeInMs, как и ожидалось (время в мс 24 часов назад), но проблема заключается в получении запроса вправо. Большое количество хитов & пробный номер был использован, но успеха пока нет. Использовали следующие:
'{STARTTIME: {$ GTE: { "дата $": "$ {timeInMs}"}}}'
"{начальное время: {$ GTE: новые Дата \" ($ {timeInMs}) \ "}}"
'{начальное время: {$ GTE: новые Дата ("$ {timeInMs}")}}'
Новая дата принимает номер как параметр в случае ms, но эти кавычки приводят к преобразованию строк. – vashishatashu
Я предположил, что у вас установлено timeInMs, если вы это сделаете, то дамп Mongod получит: 'mongodump -u user -p password --authenticationDatabase admin --db dbname -c collection --query {startTime: {$ gte: new Date (1424940476866)}} ' – Tiago