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.