$and (論理積)

最終更新:2026-10-09

$and (論理積)

$and は複数のクエリ条件を組み合わせ、すべてを満たすドキュメントを選択します。`{ $and: [ { price: { $gt: 10 } }, { inStock: true } ] }` のように使います。クエリ文書内の複数フィールドは暗黙的に AND になるため、$and は論理を明示するためのもので、同じフィールドに複数の条件を書くときに必須になります。

カテゴリ論理
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $and: [ { <condition1> }, { <condition2> }, ... ] }

⚙️ パラメータ

条件の配列クエリ述語の配列。すべてが成立する必要があります。

戻り値:一致するドキュメントのカーソル

▶ 例

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

// $and: price が 10 超 かつ inStock が true
db.products.find({
  $and: [
    { price: { $gt: 10 } },
    { inStock: true }
  ]
})

出力:

// 両方の条件を満たす商品を返す(暗黙の AND でも同じ結果)

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Q$and と複数フィールドを直接書く違いは?
A機能的には同じです。$and は同一フィールドへの複数条件や、論理構造を明確にしたいときに使います。
Q同じフィールドに $gt を 2 つ書けますか?
A直接書くとキーが重複して衝突します。$and を使います: { $and: [ { score: { $gt: 60 } }, { score: { $gt: 90 } } ] }。
Q$and の中に $or をネストできますか?
Aはい。$and の各要素には $or や $nor など任意の条件を書けます。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%