1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

mongoDBのcountDocuments()でエラー(TypeError: db.hogecollections.countDocuments is not a function)

Posted at

MongoDBで特定の条件に合致する件数を知りたい場合は、countDocuments()メソッドを使うことができる。今回countDocuments()を使おうとすると以下のエラーとなった。

事象

E QUERY    [thread1] TypeError: db.hogecollections.countDocuments is not a function :
@(shell):1:1

実行したクエリはこちら

db.users.countDocuments({ age: { $gt: 18 } }); // 年齢が18歳以上のユーザーをカウント

原因

主に、countDocuments()メソッドが存在しないMongoDBのバージョンを使っているか、MongoDBのドライバーが適切に設定されていない場合があるが、今回はMongoDBのバージョンが古すぎるのが原因だった。

MongoDB Enterprise > db.version(); //バージョンを確認
3.6.23

countDocuments()メソッドはMongoDB 4.0以降で使用可能なもよう。

代替案

find()メソッドとcount()メソッドを組み合わせて件数を取得する
※ただし、count()メソッドは非推奨とされており、将来的に削除される可能性があるため、素直にMongoDBのバージョンアップを行うことをおすすめ!!

db.users.find({ age: { $gt: 18 } }).count(); // 年齢が18歳以上のユーザーをカウント
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?