使用shell脚本在查询参数中使用日期的mongodump

时间:2015-02-26 14:04:25

标签: bash mongodb mongodump

我正在尝试使用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}”)}}'

1 个答案:

答案 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"')}}'