首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在MongoDB请求之间保存游标

在MongoDB请求之间保存游标
EN

Stack Overflow用户
提问于 2015-05-25 23:49:40
回答 1查看 325关注 0票数 4

我正在编写一个webapp,使用pymongo (常规pymongo)和烧瓶显示来自MongoDB数据库的tweet。

我遇到的问题是,当访问分页结果时,搜索会一次又一次地执行,而我真正需要做的就是遍历游标。

代码语言:javascript
运行
复制
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({.})一次,并将其存储到一个名为游标的变量中,然后切片:

代码语言:javascript
运行
复制
cursor = db.tweets.find({...})
Page 1: cursor[0:20]
Page 2: cursor[21:30], etc...

我考虑过使用会话,但游标不是json可序列化的,而且不能将所有内容存储在内存中。我想知道是否有人知道如何在http请求之间存储/持久化游标,这样我就不必每次都计算它,或者可能是另一种分页方法?

我确实计划让这个idea应用程序拥有多个并发用户,所以在全球范围内存储它可能不是一个好主意。

EN

Stack Overflow用户

回答已采纳

发布于 2015-05-26 05:26:03

你可以对结果进行排序,然后跳过

我的片段:

代码语言:javascript
运行
复制
db.tweets.find().sort(("name", pymongo.ASCENDING)).limit(20).skip(20)

                                 or
#For Twenty pages to get twenty different tweets for each page
n=20
for i in range 10:
    db.tweets.find().sort(("name", pymongo.ASCENDING)).limit(20).skip((n*i))
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30447421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档