count()

名称

count - 统计当前集合符合条件的记录总数。

语法

db.collectionspace.collection.count([cond])

db.collectionspace.collection.count([cond]).hint([hint])

类别

Collection

描述

统计当前集合符合条件的记录总数,可通过hint指定查询使用的索引。

参数

参数condhint的用法与find()的相同。

返回值

成功:返回符合条件的记录总数。

失败:抛出异常。

错误

count()函数常见异常如下:

错误码错误类型描述解决方法
-6SDB_INVALIDARG参数错误。查看参数是否填写正确。
-34SDB_DMS_CS_NOTEXIST集合空间不存在。检查集合空间是否存在。
-23SDB_DMS_NOTEXIST集合不存在。检查集合是否存在。

当异常抛出时,可以通过getLastError()获取错误码,或通过getLastErrMsg()获取错误信息。可以参考常见错误处理指南了解更多内容。

版本

v1.0及以上版本。

示例

  • 统计集合 bar 所有的记录数,即不指定参数 cond。
  1. > db.foo.bar.count()
  • 统计符合条件 name 字段的值为"Tom"且 age 字段的值大于25的记录数。
  1. > db.foo.bar.count( { name: "Tom", age: { $gt: 25 } } )
  • 统计符合条件 name 字段的值为"Tom"且 age 字段的值大于25的记录数,使用"nameIdx"索引。
  1. > db.foo.bar.count( { name: "Tom", age: { $gt: 25 } } ).hint({"":"nameIdx"})