如果我想从数据库中读取一些具有某些约束的数据,而不是等待一次获得所有结果,那么数据库可以启动"流式传输"它给我的结果。 想想一个大清单。 我没有让用户等待整个列表,而是希望快速填充数据,即使我一次只获得一行。
我只知道带有限制(x)和跳过(y)的MongoDB。
从任何数据库获取流式传输结果的任何方法?我想知道好奇心,以及我正在考虑的项目。
答案 0 :(得分:0)
这里是与mongodb的python连接和逐行获取数据的示例
from pymongo import MongoClient
client = MongoClient()
db = client.blog
col = db.posts
for r in col.find():
print r
raw_input("press any key to continue...")
答案 1 :(得分:0)
所有标准的MongoDB驱动程序都会在查询(find()命令)上返回一个游标,它允许应用程序使用游标按需提取结果来传输文档。我会查看有关您计划使用的特定驱动程序的游标文档,因为不同编程语言之间的语法不同。
还有一种特殊类型的游标,专门用于某些流媒体用例。 MongoDB有一个" Tailable Cursor的概念,"当文档插入集合时,它会将文档流式传输到客户端(另请参阅AWAIT_DATA选项)。请注意,Tailable游标仅适用于" capped collections"因为他们已经针对这种特殊用途进行了优化。文档可以在www.mongodb.org网站上找到。下面是tailable游标的一些代码示例的链接:
http://docs.mongodb.org/manual/tutorial/create-tailable-cursor/