版本控制/日志记录更改为数据库模型

时间:2013-06-21 19:51:46

标签: database algorithm

假设您有两个模型:BookCollection s。 Collection有一个或多个Book个。现在你有了一个API,你可以去/collections/1获取集合1中的所有书籍。

但收藏会随着时间的推移而改变!将添加或删除书籍。所以现在我需要一个新资源collection_changes/:id。我给它一个时间戳,它返回了从那时起已经从集合中添加或删除的所有书籍的列表。

有一种快速有效的方法吗?

1 个答案:

答案 0 :(得分:1)

只需保留每个集合的已排序(按时间戳)列表(更改将在最后添加,并且永远不会删除,因此这是有效的)。然后你可以通过二进制搜索找到对数时间的给定时间戳,然后只返回时间戳后面的列表部分。