size() (カーソルの件数カウント)
最終更新:2026-10-09
size() (カーソルの件数カウント)
size() はカーソル内のドキュメント数を返します: `db.users.find().size()`。意味論はおおむね count() と同じですが、size() は適用済みの limit() を尊重し、count() は尊重しない点が異なります。このメソッドは非推奨です。`db.users.countDocuments()` を推奨します。主にレガシーコードを読むために知っておきましょう。
| カテゴリ | カーソル |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
db.<collection>.find(<filter>).size()
戻り値:カーソル内のドキュメント数(整数)。
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// size: 一致するドキュメント数を数える
const n = db.users.find({ age: { $gte: 18 } }).size()
print(n)
出力:
42
📌 注意事項
- 非推奨。新しいコードでは countDocuments() を使う
- count() と異なり、size() は先行する limit() を尊重する
- カーソルを消費しない。反復を続けられる
🏷️ 関連タグ
💡 関連ケース
さらなる実践ケースを近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Qsize と count の違いは?
Aどちらもカーソルの結果を数えます。唯一の違いは、size() が limit() を尊重するのに対し count() は無視することです。
Qsize() はまだ使えますか?
A動作しますが非推奨です。公式の指針は countDocuments() なので、新しいコードでは size() を避けてください。
Qfind().limit(5).size() は何を返しますか?
A5 を返します(少なくとも5件一致する場合)。size() は limit を考慮するためです。