2016-08-05 89 views
1

使用MySQL,它很容易從數據庫中打開一個可讀的流。所有我們需要做的是:有沒有一種簡單的方法在Node中從Mongo打開可讀流?

function getTableStream() { 
    connection.query('SELECT * FROM someTable WHERE field = value').stream(); 
} 

之後,我們可以做這樣的事情:

getTableStream.on('data', function(data) { 
    console.log(data); 
}); 

,這是極快的。事實上,我嘗試使用類似85千行的東西,並且能夠在不到一分鐘的時間內列出控制檯上的所有數據。

我想知道:是否有可能對MongoDB做同樣的事情?我們可以從mongo打開一個可讀的流並通過流式傳輸從那裏獲取數據嗎?

如果可能的話,Mongo怎麼樣?在一個本地驅動程序光標

回答

3

呼叫.stream()得到一個可讀的流:

var stream = collection.find().stream(); 
stream.on('data', function(doc) { 
    console.log(doc); 
}); 
stream.on('error', function(err) { 
    console.log(err); 
}); 
stream.on('end', function() { 
    console.log('All done!'); 
}); 
+0

這是相當不錯的,我到現在也沒它那麼簡單。感謝你的回答!順便說一下,你知道是否有某種方法可以使用Monk獲得可讀流? – user1620696

+0

@ user1620696很高興幫助。對不起,我不使用Monk,所以我無法幫助你。 – JohnnyHK

相關問題