On this page本页内容
$in
¶The $in
operator selects the documents where the value of a field equals any value in the specified array. $in
运算符选择字段值等于指定数组中任何值的文档。To specify an 要在表达式中指定$in
expression, use the following prototype:$in
,请使用以下原型:
For comparison of different BSON type values, see the specified BSON comparison order.有关不同BSON类型值的比较,请参阅指定的BSON比较顺序。
If the 如果field
holds an array, then the $in
operator selects the documents whose field
holds an array that contains at least one element that matches a value in the specified array (for example, <value1>
, <value2>
, and so on).field
包含数组,则$in
运算符将选择其field
包含数组的文档,该数组至少包含一个与指定数组中的值匹配的元素(例如,<value1>
、<value2>
,等等)。
Note
This document describes the 本文档介绍了$in
query operator. $in
查询运算符。For the 有关$in
aggregation operator, see $in (aggregation).$in
聚合运算符,请参阅$in(聚合)。
$in
Operator to Match Values$in
运算符匹配值¶Consider the following example:考虑下面的例子:
This query selects all documents in the 此查询选择inventory
collection where the qty
field value is either 5
or 15
. inventory
集合中qty字段值为5
或15
的所有单据。Although you can express this query using the 尽管可以使用$or
operator, choose the $in
operator rather than the $or
operator when performing equality checks on the same field.$or
运算符表示此查询,但在对同一字段执行相等性检查时,请选择$in
运算符而不是$or
运算符。
$in
Operator to Match Values in an Array$in
运算符匹配数组中的值¶The collection 集合inventory
contains documents that include the field tags
, as in the following:inventory
包含包含字段tags
的文档,如下所示:
Then, the following 然后,下面的update()
operation will set the sale
field value to true
where the tags
field holds an array with at least one element matching either "appliances"
or "school"
.update()
操作将sale
字段值设置为true
,其中tags
字段包含至少一个元素与"appliances"
或"school"
匹配的数组。
For additional examples in querying arrays, see:有关查询数组的其他示例,请参阅:
For additional examples in querying, see:有关查询中的其他示例,请参阅:
$in
Operator with a Regular Expression$in
运算符与正则表达式一起使用¶The $in
operator can specify matching values using regular expressions of the form /pattern/
. $in
运算符可以使用/pattern/
形式的正则表达式指定匹配值。You cannot use 不能在$regex
operator expressions inside an $in
.$in
中使用$regex
运算符表达式。
Consider the following example:考虑下面的例子:
This query selects all documents in the 此查询选择inventory
collection where the tags
field holds either a string that starts with be
or st
or an array with at least one element that starts with be
or st
.inventory
集合中tags
字段包含以be
或st
开头的字符串或至少包含一个以be
或st
开头的元素的数组的所有文档。
See also参阅
find()
, update()
, $or
, $set
, $elemMatch
.