5

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

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

4

2 回答 2

4

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

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

于 2012-06-27T18:32:19.547 回答
1

与 find() 不同,使用 count() 不会将文档固定到缓存中,这样可以节省内存。当使用 mongodb 或任何其他数据库时,内存是您最宝贵的资源……除了快速磁盘。

于 2013-01-10T19:11:14.093 回答