$nin¶语法:{ field: { $nin: [ <value1>, <value2> ... <valueN> ]} }
$nin 选择以下文档:
field值不在指定的范围内array 或field不存在。有关不同BSON类型值的比较,请参见指定的BSON比较顺序。
考虑以下查询:
此查询将选择的所有文件inventory,其中收集qty字段值确实不等于5也没有
15。所选文档将包括那些不包含该qty字段的文档
。
如果field持有的阵列,则$nin操作者选择其的文件field持有与阵列没有
元素等于指定数组中的值(例如<value1>,
<value2>等)。
考虑以下查询:
此update()操作将sale在inventory集合中设置字段值,在该集合中,该
tags字段包含一个数组,其中没有元素与该数组中的元素匹配,或者该文档不包含该字段。["appliances", "school"]tags
不等式操作者$nin是不非常有选择性的,因为它往往是指数的很大一部分相匹配。结果,在许多情况下,$nin带有索引的查询的性能可能不比$nin必须扫描集合中所有文档的查询更好。另请参阅查询选择性。