如何在Python

时间:2016-06-11 21:06:57

标签: python couchdb

我是Python和CouchDB的新手,我正在尝试编写自动交易脚本。因此,我只关心给定数据库/表中的最新400个文档(交易数据)。填补一些空白:

  1. 我有一个Python程序正在读取FOREX交易数据并将汇总统计信息写入CouchDB数据库。那个东西每20秒运行一次,效果很好。我现在只是创建一些大表(我不需要)。

  2. 我有另一个Python程序,它将从该表中读取前400条记录。在这个程序的最后,我想做一些自动清除,删除比前400个文档更旧的东西。

  3. 我在如何做到这一点上有一些灵活性,因为这只是一个学习一些新编程技术的宠物项目。我假设这可以通过使用 _id = epoch time + views 的集合来解决,但我只想要一些简单易行的东西。

    有什么建议吗?

1 个答案:

答案 0 :(得分:0)

由于与要清除的其余文档相比,ramaining的文档数量非常少,我会尝试选择性复制到新数据库,并使用_replicate发布并在doc_ids数组中添加400个相关ID。 (http://docs.couchdb.org/en/1.6.1/api/server/common.html#post--_replicate

然后只需交换到新数据库并删除旧数据库。这将是非常快速和非常错误的证明,因为couchdb只需要删除旧的数据库和索引文件,而不是查找和删除数以千计的旧文档。