MongoDB:find({...}).limit(#) 背后的真相

Mar*_*ria 3 javascript database mongoose mongodb node.js

在MongoDB中,真的.find({...}).limit(#)限制查询数量吗?

我的意思是,当你这样做时db.collection.find(condition),不是已经浪费了计算能力来查询与给定条件匹配的所有结果吗?如果是这样,那么在它之后添加是否.limit()只是从查询结果中删除不需要的元素?

非常感谢您澄清这一点!

T.J*_*der 5

db.collection.find返回一个cursor,而不是结果数组或类似结果。从文档中:

\n\n
\n

find()方法 \xe2\x80\x9c 返回文档时,\xe2\x80\x9d 该方法实际上返回一个cursor向文档返回a。

\n
\n\n

当您迭代光标时,文档实际上已被定位。所以打电话.limit会告诉光标何时表示迭代已完成。

\n\n

有关游标的更多信息:http ://docs.mongodb.org/manual/core/cursors/#read-operations-cursors

\n