对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

$in(表达式操作符)

$in

返回一个布尔值,它可表示指定的值是否在数组中。

注意

本文档介绍 $in 聚合操作符。对于 $in 查询操作符,请参阅 $in(查询谓词操作符)。

$in 具有以下操作符表达式语法:

{ $in: [ <expression>, <array expression> ] }
操作数
说明

<expression>

任何有效的表达式。

<array expression>

任何解析为数组的有效表达式。

与 $in 查询操作符不同,聚合 $in 操作符不支持正则表达式匹配。

例子
结果

{ $in: [ 2, [ 1, 2, 3 ] ] }

true

{ $in: [ "abc", [ "xyz", "abc" ] ] }

true

{ $in: [ "xy", [ "xyz", "abc" ] ] }

false

{ $in: [ [ "a" ], [ "a" ] ] }

false

{ $in: [ [ "a" ], [ [ "a" ] ] ] }

true

{ $in: [ /^a/, [ "a" ] ] }

false

{ $in: [ /^a/, [ /^a/ ] ] }

true

$in 在以下任一情况均会失败并出现错误:如果未向 $in 表达式提供实际两个参数,或是第二个参数未解析为数组。

以下示例使用 sample_mflix 示例数据集中的 movies 集合。有关如何将此数据集加载到部署中的详细信息,请参阅 加载示例数据集。

此聚合操作会查看每部电影中的 genres大量,并确定是否存在字符串 "Drama":

db.movies.aggregate( [
{ $match: { runtime: { $gt: 1000 } } },
{
$project:
{
_id: 0,
title: 1,
hasDrama: { $in: [ "Drama", "$genres" ] }
}
}
] )
[
{
title: 'Centennial',
hasDrama: true
},
{
title: 'Baseball',
hasDrama: false
}
]
给本页内容打分

在此页面上