$ne¶
-
$ne
¶ Syntax:
{field: {$ne: value} }
$ne
selects the documents where the value of thefield
is not equal (i.e.!=
) to the specifiedvalue
. This includes documents that do not contain thefield
.For comparison of different BSON type values, see the specified BSON comparison order.
Consider the following example:
db.inventory.find( { qty: { $ne: 20 } } )
This query will select all documents in the
inventory
collection where theqty
field value does not equal20
, including those documents that do not contain theqty
field.Consider the following example which uses the
$ne
operator with a field in an embedded document:db.inventory.update( { "carrier.state": { $ne: "NY" } }, { $set: { qty: 20 } } )
This
update()
operation will set theqty
field value in the documents that contain the embedded documentcarrier
whosestate
field value does not equal “NY”, or where thestate
field or thecarrier
embedded document do not exist.The inequality operator
$ne
is not very selective since it often matches a large portion of the index. As a result, in many cases, a$ne
query with an index may perform no better than a$ne
query that must scan all documents in a collection. See also Query Selectivity.