[英]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.