【发布时间】:2015-08-07 11:17:35
【问题描述】:
我正在编写一个 web 应用程序,以使用 pymongo(常规 pymongo)和烧瓶显示来自 MongoDB 数据库的推文。
我遇到的问题是,当访问分页结果时,搜索会一次又一次地执行,而我真正需要做的就是遍历光标。
Page 1: db.tweets.find({...})[0:20]
Page 2: db.tweets.find({...})[21:30]
Page 3: db.tweets.find({...})[31:40]
每次更改页面时都会调用 db.tweets.find({...}) 调用,理想情况下我想做一次 db.tweets.find({...}) 并将其存储到变量称为游标,然后切片:
cursor = db.tweets.find({...})
Page 1: cursor[0:20]
Page 2: cursor[21:30], etc...
我考虑过使用会话,但游标不是 json 可序列化的,我无法将所有内容存储在内存中。我想知道是否有人知道如何在 http 请求之间存储/保留光标,这样我就不必每次都继续计算它,或者可能是另一种分页方法?
我确实计划让这个 web 应用程序拥有多个并发用户,因此在全球范围内存储它可能不是一个好主意。
【问题讨论】:
标签: mongodb python-2.7 flask pymongo