$ne

  • $ne

    • 语法:{field: {$ne: value} }

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

有关不同 BSON 类型值的比较,请参阅指定的 BSON 比较 order。

考虑以下 example:

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

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

考虑以下 example,它将$ne operator 与嵌入文档中的字段一起使用:

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

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

不等式 operator $ne不是很有选择性,因为它经常匹配索引的很大一部分。因此,在许多情况下,带索引的$ne查询可能不会比必须扫描集合中所有文档的$ne查询执行得更好。另见查询选择性。

也可以看看
find(),update(),$set。