2012-10-10 19 views
4

node-mongo-native collection.find() function的文檔說它創建了一個遊標對象,它懶散地返回匹配的文檔。此外:Node Mongo Native - 如何判斷遊標何時耗盡?

遊標上的基本操作是從數據庫中提取下一個匹配文檔的方法nextObject。便利方法eachtoArray調用nextObject,直到遊標耗盡。

不幸的是,該文件沒有提供如何告訴當光標實際上是耗盡指示。您可以使用「toArray」方法並使用標準數組接口(例如「length」方法),但此解決方案不適合流式傳輸大量數據。 MongoDB API Wiki引用了mongo shell中的cursor.hasNext(),但此方法在node.js驅動程序中似乎不可用。

如何確定在node.js中從MongoDB流式傳輸數據時光標何時耗盡?

回答

9

documentationCursor#nextObject並定義其回調的第二個參數是null如果沒有可用的更多結果。

第一個參數將包含錯誤對象,而第二個參數將包含返回結果中的文檔,如果沒有更多結果,則返回null。