我的数据提供者有一个带有我的数据的 MongoDB 远程实例,我可以通过 SSH 访问它。目前,我使用命令查询 MongoDB
mongoexport -d database -c collection --csv --out result.csv --q '{"date":{"$gte":new Date(1338480000000),"$lte": new Date(1338915599000)}}'
从那里我一直在使用 WinSCP 将生成的 JSON 文件的副本从远程 linux shell 传输到我的本地 Windows 笔记本电脑。
问题是,从现在开始,理想情况下,每次将新条目(“事件”)添加到 MongoDB 时,我都需要让它自动运行导出,并且它必须自动 SCP 或以其他方式将生成的 JSON 文件推送到公司 linux VPS。这就是我公司的 CS 人员所说的“事件驱动的导出”。我不知道如何做到这一点,数据提供者也不知道,我也无法通过 Google-ing 弄清楚。
如果不可能,那么我会满足于让 cronjob 每 1 分钟运行一次,并将最后 1 分钟的数据从 MongoDB 导出为 JSON 文件,然后将该文件 SCP 到我公司的 linux 服务器。我真的可以使用一些帮助来确定如何编写查询以及如何让 mongoexport 按顺序保存文件名(以避免覆盖同一个文件),然后告诉 SCP 发送一份最新的副本。