[英]How do MongoDB cursors work when used with Node.js?
我正在將Node.js與npm軟件包mongodb
。 當我使用findOne(...)
,得到的結果直接就是我搜索的項目。 當我改用find(...)
,沒有得到一個元素數組,但得到一個游標,如果您console.log
它,它看起來很奇怪。
我的問題是為什么它返回一個游標而不是元素數組,並且cursor.forEach(...)
調用然后是異步的,或者客戶端如何從游標中獲取數據?
它返回游標而不是數組,以向客戶端提供靈活性,使其以最適合其需求的方式訪問結果。
要獲取所有結果的數組,可以在游標上調用async toArray
方法:
collection.find({...}).toArray((err, docs) => {...});
對於aggregate
同樣的事情:
collection.aggregate([{$match: {...}}]).toArray((err, docs) => {...});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.