为什么在异步调用中很难实现可迭代游标?

时间:2012-11-12 15:00:19

标签: mongodb asynchronous pymongo nonblocking

对于这个愚蠢的问题感到抱歉,但是从this subject我觉得在处理非阻塞数据库调用时很难实现可迭代游标,

为什么会这样,为什么它与Pymongo cursors不同; 换句话说,为什么不能将next method放在非阻塞的mongodb库中?

这会影响find()方法,即使MongoTor中没有next()方法,但仍然有limit()skip()限制并继续时的迭代?

这是关于tornado groups

的相关主题

1 个答案:

答案 0 :(得分:1)

我不知道Python驱动程序,但是您无法获得返回文档的next方法,因为非阻塞驱动程序只能返回将来的结果。

MongoDB提供批量文档。这意味着当您使用了整批产品时,您可以获取下一批产品。这种非阻塞方式是返回未来的一批文档。

有不同的方法来设计更好的API。其中包括Iteratee / Enumerator模式 - ReactiveMongo就是这种情况,这是MongoDB的非阻塞,反应式Scala驱动程序。