我正在尝试使用bash获取过去24小时集合的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}”}}}'
“{startTime:{$ gte:new Date \”($ {timeInMs})\“}}”
'{startTime:{$ gte:new Date(“$ {timeInMs}”)}}'
答案 0 :(得分:0)
您需要正确获取报价:
timeInMs=$(expr "$(date +'%s%3N')" - 86400000)
mongodump -u user -p password --authenticationDatabase admin --db dbname -c collection --query '{startTime:{$gte:new Date('"$timeInMs"')}}'
为了更好的可读性:
mongodump -u user \
-p password \
--authenticationDatabase admin \
--db dbname -c collection --query '{startTime:{$gte:new Date('"$timeInMs"')}}'