$ne (等しくない)
最終更新:2026-10-09
$ne (等しくない)
$ne は式形式の不等価比較です。2 つの引数を取り、異なるとき true を返します。特定の値を除外したり、異なるレコードを見つけたりするのに使われ、例えばステータスが「クローズ済み」でない注文を探します。式の構文 { $ne: [expr1, expr2] } はクエリ演算子と異なります。null と null の比較は false(等しい)になり、式内では欠落フィールドは null として参加します。クエリの $ne がフィールド欠落のドキュメントも一致させるのとは異なる点に注意してください。
| カテゴリ | 集合・条件・変換 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
{ $ne: [ <expression1>, <expression2> ] }
⚙️ パラメータ
| 式1 | 比較する最初の式。 |
|---|---|
| 式2 | 比較する2番目の式。 |
戻り値:値が異なる場合は true、等しい場合は false
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// $ne: ステータスがクローズ済みでない注文を探す
db.orders.aggregate([
{ $project: {
active: { $ne: ['$status', 'closed'] }
} }
])
出力:
{ '_id': 1, 'active': true }
{ '_id': 2, 'active': false }
📌 注意事項
- null と null の比較は false を返す
- 式内では欠落フィールドは null として参加する
- $eq の逆
🏷️ 関連タグ
💡 関連ケース
さらなる実践ケースを近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q$ne と $eq の関係は?
A逆の関係です。$ne は $eq の否定です。
Qnull に対しては何を返しますか?
Anull と null は等しいので false、null と他の値は異なるので true です。
Q欠落フィールドを除外できますか?
A式内では欠落フィールドは null として数えられるため、非 null の値に対して true を返します。