我的问题是:有一组用户。我试图找到,用户_id=xxx
是否有somevalue > 5
。
我想知道,使用find(...).count() > 0
or什么会更快findOne(...) != null
?或者也许还有其他更快/更好的方法?
我的问题是:有一组用户。我试图找到,用户_id=xxx
是否有somevalue > 5
。
我想知道,使用find(...).count() > 0
or什么会更快findOne(...) != null
?或者也许还有其他更快/更好的方法?
查询时间之间的差异应该几乎可以忽略不计,因为它们都限制了唯一_id的范围,因此会立即找到它们。这里唯一的轻微优势count
在于 db 将返回一个 int 而不是整个文档。因此,您节省的时间纯粹是因为数据从数据库传输到客户端。
话虽如此,如果您的目标是执行存在查询并且您不关心数据,请使用count
与 find() 不同,使用 count() 不会将文档固定到缓存中,这样可以节省内存。当使用 mongodb 或任何其他数据库时,内存是您最宝贵的资源……除了快速磁盘。