$gt (より大きい)
最終更新:2026-10-09
$gt (より大きい)
$gt は式形式の「より大きい」比較です。2 つの引数を取り、最初が 2 番目より大きいとき true を返します。$project や $expr などの式コンテキストで使われ、例えば価格が原価を超える注文や閾値より大きい値をフラグ付けします。クエリ演算子と違い、式形式は { $gt: [expr1, expr2] } と書きます。比較は BSON の型順序に従うため、型の混在はエラーではなく型順に並び、null は数値より前になります。
| カテゴリ | 集合・条件・変換 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
{ $gt: [ <expression1>, <expression2> ] }
⚙️ パラメータ
| 式1 | 比較する最初の式。 |
|---|---|
| 式2 | 比較する2番目の式。 |
戻り値:1つ目が2つ目より大きい場合は true、それ以外は false
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// $gt: マージンが正の注文をフラグ付け
db.orders.aggregate([
{ $project: {
profitable: { $gt: ['$price', '$cost'] }
} }
])
出力:
{ '_id': 1, 'profitable': true }
{ '_id': 2, 'profitable': false }
📌 注意事項
- 比較するのはちょうど 2 つの引数。さらに比較するなら入れ子にする
- 異なる型は BSON の型順序で比較される
- $gte と違い、等しい場合は true にならない
🏷️ 関連タグ
💡 関連ケース
さらなる実践ケースを近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q$gt と $gte の違いは?
A$gt は厳密に大きい場合だけです。$gte は等しい場合も true になります。
Q文字列を比較できますか?
Aはい — 文字列は辞書順の文字順で比較されます。
Q$match 内で $gt を使うには?
A$expr で包みます: { $gt: [...] }。または $match でフィールドと値の構文を直接使います。