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

标签 javascript node.js mongodb mongoose database

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

我的意思是,当您执行 db.collection.find(condition) 时,查询所有符合给定条件的结果不是已经浪费了计算能力吗?如果是这样,那么添加 .limit() 只是从查询结果中删除不需要的元素吗?

非常感谢您澄清这一点!

最佳答案

db.collection.find 返回 cursor ,而不是一组结果或类似的结果。来自文档:

When the find() method “returns documents,” the method is actually returning a cursor to the documents.

当您迭代光标时,文档实际上就位于了。所以调用 .limit 会告诉游标什么时候说它完成了迭代。

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

关于javascript - MongoDB:find({...}).limit(#) 背后的真相,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24949451/

相关文章:

javascript - 我如何使用jquery反转列表的顺序

javascript - javascript 和 html 中的嵌套引号

javascript - 从日期字符串中删除零

node.js - 一个域上的多个应用程序

node.js - Mongo 的 Cursor.nextObject 有时会错误返回 Null?

javascript - 通过单击内部的链接在两个 <div> 标签之间切换

node.js - OpenSSL EdDSA 指定 key 大小

angularjs - 使用 NodeJs、ExpressJs 验证注册时的电子邮件地址

java - Morphia 保存新实体而不是更新 _id

javascript - Mongoose - 当从集合中返回所有项目(没有搜索参数)时,从集合中返回的项目不包含其 mongo _id