加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读