2013-07-20 48 views
-1

有什麼方法在那裏,如果我想讀某些約束,而不是等待獲得一次所有的結果,該數據庫可以啓動數據庫的一些數據「流」,它的結果給我。 想象一個大列表。 而不是讓用戶等待整個名單,我要開始充盈數據快,即使我每次只得到一個行。任何方式來從數據庫獲取流式讀取?

我只知道的MongoDB與限制(x)和跳躍(Y)。

任何方式從任何數據庫中的數據流的結果?我想知道好奇心,以及我目前正在考慮的一個項目。

+0

把握;你不指定你正在使用的語言,但是我知道支持查詢結果流的所有驅動程序。 – JohnnyHK

+0

實際上從數據文件流是默認情況下 – Sammaye

回答

0

這裏的例子蟒蛇連接的MongoDB和獲取數據逐行的

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...") 
0

所有標準的MongoDB驅動程序返回的查詢光標(找到()命令),它允許應用程序流通過的文件光標將按需求拉回結果。我會查看針對您打算使用的特定驅動程序的遊標文檔,因爲不同編程語言的語法不盡相同。

還有一種特殊類型的特定於某些流傳輸的情況下,光標。 MongoDB有一個「Tailable Cursor」的概念,當將文檔插入到集合中時(這些參數可以參見AWAIT_DATA選項),它將把文檔傳輸到客戶端。請注意,Tailable遊標僅適用於「封頂集合」,因爲它們已針對此特殊用途進行了優化。文檔可以在www.mongodb.org網站上找到。下面是一些代碼樣本的鏈接tailable光標:

http://docs.mongodb.org/manual/tutorial/create-tailable-cursor/