Mongodb计数vs findone

时间:2012-06-27 18:22:38

标签: mongodb

我的问题是:有一组用户。我试图找到,_id=xxx的用户是somevalue > 5

我想知道,使用find(...).count() > 0findOne(...) != null会更快吗?或者也许还有其他更快/更好的方式?

2 个答案:

答案 0 :(得分:4)

查询时间之间的差异应该几乎可以忽略不计,因为它们都限制了唯一_id的边界,因此可以立即找到它们。这里唯一的轻微边缘是count,因为db将返回一个int而不是整个文档。因此,您节省的时间完全是因为数据从数据库传输到客户端。

话虽如此,如果您的目标是执行存在查询并且您不关心数据,请使用count

答案 1 :(得分:1)

使用count()不会将文件(与find()相反)固定到缓存中,从而节省内存。当使用mongodb或任何其他数据库时,内存是您最宝贵的资源...除了快速磁盘。