bash – mongoexport最近来自mongodb的小时数据
发布时间:2020-12-15 22:35:24 所属栏目:安全 来源:网络整理
导读:我是 mongodb的新手.我想在最近几小时从我的数据库中导出一些数据.所以,我认为我需要编写mongoexport命令并在–query选项中包含日期范围来执行此操作. 我写这样的bash文件并尝试运行它: #!/bin/bashmongoexport --host localhost:27017 --db copy --collect
我是
mongodb的新手.我想在最近几小时从我的数据库中导出一些数据.所以,我认为我需要编写mongoexport命令并在–query选项中包含日期范围来执行此操作.
我写这样的bash文件并尝试运行它: #!/bin/bash mongoexport --host localhost:27017 --db copy --collection txt --csv --fields x1,x2,x3...,date --query '{ "date" : {$gt:new Date(new Date() - 1000*60*60*3)} }' --out home/data.csv 但我得到的结果是: connected to: localhost:27017 assertion: 16619 code FailedToParse: FailedToParse: Expecting '}' or ',': offset:25 of:{ "date" : {$gt:new Date(new Date() - 1000*60*60*3)} } 它看到连接到localhost但无法输出数据.如果我删除–query选项,这可以成功运行并获取整个数据,但我必须要求查询在最近3小时内对数据进行子集化. 任何想法和帮助将受到高度赞赏.谢谢你和Best. 解决方法
使用mongoexport,您必须为Date对象提供时间戳.
这里解释了解释:MongoDb timestamp 你可以写作脚本的东西是这样的(我对bash很生疏,肯定可以改进以保持单行): timestamp=$(date +%s) let total=$timestamp*1000-3600*1000*3 mongoexport --host localhost:27017 --db copy --collection txt --csv --fields x1,date --query '{ "date" : {$gt:new Date('$total')} }' --out home/data.csv (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |