$lte (以下)
最終更新:2026-10-09
$lte (以下)
$lte は、フィールドの値が指定値以下のドキュメントを選択します。`{ price: { $lte: 50 } }` は価格が最大 50 の商品に一致します。「以下」の意味を表し、$gte と組み合わせて閉区間を作ります。割引や上限の指定に使われ、インデックスにも有利です。
| カテゴリ | 比較 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
{ <field>: { $lte: <value> } }
⚙️ パラメータ
| フィールド | マッチ対象のドキュメントフィールド。 |
|---|---|
| 値 | 上限値。境界自体が含まれます。 |
戻り値:一致するドキュメントのカーソル
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// $lte: 価格が最大 50 の商品
db.products.find({ price: { $lte: 50 } })
// 閉区間: qty が 1 から 10
db.orders.find({ qty: { $gte: 1, $lte: 10 } })
出力:
// 最大 50 の商品と、qty が 1〜10 の注文を返す
📌 注意事項
- $lte は境界値を含む。含めたくないなら $lt を使う
- $gte と組み合わせて閉区間にする。両端ともインデックスを使える
- 異なる型は比較されない。数値 50 と文字列 '50' は等しくも順序も付かない
🏷️ 関連タグ
💡 関連ケース
📚 関連チュートリアル
❓ よくある質問
Q$lte で今日までの日付を絞れますか?
Aはい、コード側で当日の終端を計算します: { createdAt: { $lte: new Date('2026-09-30T23:59:59') } }。
Q$lte と $lt の違いは?
A$lte は等しい場合も含みます。$lt は厳密に小さい場合のみです。最大 50 なら $lte: 50 を使います。
Qqty が 1 から 10 のクエリは?
A{ qty: { $gte: 1, $lte: 10 } } です。両端を含みます。