Mongodb计数vs findone

Mongodb计数vs findone,mongodb,Mongodb,我的问题是:有一个用户集合。我正在尝试查找,id=xxx的用户是否有somevalue>5 我想知道,使用find(…).count()>0或findOne(…)!=空值?或者可能有其他更快/更好的方法?查询时间之间的差异应该几乎可以忽略,因为它们都限制了唯一id的界限,因此可以立即找到它们。这里唯一的边缘是计数,因为db将返回一个int而不是整个文档。所以节省的时间完全是因为数据从db传输到客户端 也就是说,如果您的目标是执行exists查询,而不关心数据,请使用计数与find()相反,使用计

我的问题是:有一个用户集合。我正在尝试查找,id=xxx的用户是否有
somevalue>5


我想知道,使用
find(…).count()>0
findOne(…)!=空值
?或者可能有其他更快/更好的方法?

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


也就是说,如果您的目标是执行exists查询,而不关心数据,请使用
计数

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

你考过了吗
explain
确实是因为这个原因而存在的。我仍然不知道有没有更好的解决方案:)好吧,除了这个线程已经运行了6个月,你所说的似乎是正确的。谢谢:)Sry回复了一条旧的帖子。在我的测试中,count()将文档植入内存。我可以验证这一点,因为我的第一个count()查询需要>500毫秒,在查询结果中再次执行相同的查询