假设您有两个模型:Book
和Collection
s。 Collection
有一个或多个Book
个。现在你有了一个API,你可以去/collections/1
获取集合1中的所有书籍。
但收藏会随着时间的推移而改变!将添加或删除书籍。所以现在我需要一个新资源collection_changes/:id
。我给它一个时间戳,它返回了从那时起已经从集合中添加或删除的所有书籍的列表。
有一种快速有效的方法吗?
答案 0 :(得分:1)
只需保留每个集合的已排序(按时间戳)列表(更改将在最后添加,并且永远不会删除,因此这是有效的)。然后你可以通过二进制搜索找到对数时间的给定时间戳,然后只返回时间戳后面的列表部分。