MongoDB里findOne()是不是相当于SQL中LIMIT 1

看到这个关于SQL中加入 LIMIT 1 是否会更快的问题,http://segmentfault.com/q/10100000001...
老牛我就想起了mongodb里的 findOne

db.collection.findOne(query)

不知道是不是跟SQL的一样,还是说跟db.collection.find().limit(1)一样?

阅读 11.6k
3 个回答

mongoDB中的limit()函数与sql中的limit是一样的。而mango中的limit()函数也是跟在find()函数后使用。

虽然实现机制和db.collection.find().limit(1) 差距太多,但用起来和 db.collection.find().limit(1) 没多大区别,

findOne 是 找到第一条,返回数据,然后关闭游标cursor 这些操作一气喝成
db.collection.find().limit(1) 是先返回游标,获取需要的数据,然后关闭游标

具体的实现还是跟客户端有关...

新手上路,请多包涵

一个意义

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进