$allElementsTrue (全要素が真かを確認)

最終更新:2026-10-09

$allElementsTrue (全要素が真かを確認)

$allElementsTrue は配列のすべての要素が真のときだけ true を返します。空の配列は、全称量化の慣例に従って true を返します。代表的な用途は、注文の全アイテムが在庫にあることの確認や、ユーザーが必要なオプションをすべて選択したかのチェックです。引数は 1 つの配列で、要素は MongoDB の真偽規則に従います。0、空文字列、null、false は偽で、それ以外は真です。$anyElementTrue の対になる演算子です。

カテゴリ集合・条件・変換
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $allElementsTrue: [ <array> ] }

⚙️ パラメータ

配列チェックする配列。要素は真偽で判定されます。

戻り値:すべての要素が真の場合は true。空の配列は true を返します

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// $allElementsTrue: 全アイテムが在庫にあるか確認
db.orders.aggregate([
  { $project: {
      allInStock: { $allElementsTrue: ['$inStockFlags'] }
  } }
])

出力:

{ '_id': 1, 'allInStock': true }
{ '_id': 2, 'allInStock': false }

📌 注意事項

さらなる実践ケースを近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q空の配列は何を返しますか?
A全称量化により true を返します。空の判定には $size を使ってください。
Qどの値が偽になりますか?
A0、空文字列、null、false です。文字列 '0' を含むそれ以外はすべて真です。
Qオブジェクト配列のフィールドを確認できますか?
A先に $map でフィールドをブール配列に抽出してから渡してください。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%