$ne

$ne选择field的值不等于指定的value的文档。这包括不包含field的文档。

有关不同 BSON 类型值的比较,请参见指定的 BSON 比较 Sequences

考虑以下示例:

db.inventory.find( { qty: { $ne: 20 } } )

此查询将选择inventory集合中qty字段值不等于20的所有文档,包括那些不包含qty字段的文档。

考虑以下示例,该示例将$ne运算符与嵌入式文档中的字段一起使用:

db.inventory.update( { "carrier.state": { $ne: "NY" } }, { $set: { qty: 20 } } )

update()操作将在包含嵌入式文档carrier的文档中设置qty字段值,该文档的state字段值不等于“ NY”,或者state字段或carrier嵌入式文档不存在。

不等式运算符$ne 并非具有很高的选择性,因为它通常与索引的很大一部分匹配。结果,在许多情况下,带有索引的$ne查询的性能可能不比必须扫描集合中所有文档的$ne查询更好。另请参见Query Selectivity

See also

find(), update(), $set.

首页