pymongo:可以使用 next() 和 prev() 迭代结果吗?

发布于 2024-10-17 20:34:17 字数 268 浏览 1 评论 0原文

我有一个数据库,其中有一列“id”,整数类型。我正在使用:

records = config.gSupei1Collection.find().sort([("id",pymongo.DESCENDING)])

来获取光标,然后我使用

record = reports[0]

来获取最大的ID记录。

我想知道在获得“记录”后,我可以使用 record.next()、record.prev() 来获取与该记录相邻的记录吗?我找不到任何文件。

I have a database with a column "id", integer type. I am using:

records = config.gSupei1Collection.find().sort([("id",pymongo.DESCENDING)])

To get the cursor, and then I use

record = records[0]

to get the largest ID record.

I am wondering after I got 'record', can I use record.next(), record.prev() to get the record that is neighbour to the record? I can't find any document.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

南汐寒笙箫 2024-10-24 20:34:17

您可以循环记录。 Record 是一个实际文档(字典),不是迭代器,但结果是。

您可以执行以下操作:

for i, d in enumerate(records):
    print i, d

或者,如果您想将返回的记录用作迭代器,您可以执行以下操作:

n = records.next()

或者为了向前兼容:

n = next(records)

Records 是一个迭代器。每次您看到可以循环的内容时,它都是一个可迭代对象,您只需对其调用 next()rewind() 即可。但要小心,调用 rewind() 将会向数据库服务器重新发出相同的查询。

仅供参考,查看某物类型的最简单方法是在解释器中对程序进行原型设计,然后您可以执行 >> help(records) 并查看 pydocs。

You can loop the records. Record is an actual document (a dict), not an iterator, but the result is.

You can do something like this:

for i, d in enumerate(records):
    print i, d

Or if you want to use the returned records as an iterator, you can do something like:

n = records.next()

Or for forward compatibility:

n = next(records)

Records is an iterator. Every time you see something that you can loop, it's an iterable, and you can just call next() and rewind() on it. Be careful though, calling rewind() will reissue the same query to the database server.

FYI, the easiest way to see what type something is is to prototype your program in the interpreter, then you can do >> help(records) and see the pydocs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文