mongodb聚合查询判断数组元素
时间: 2023-11-25 18:49:07 浏览: 104
在MongoDB中,聚合操作可以实现很多对数据库文档的复杂操作,而拆分数据库中的数组类型字段元素就是功能之一。使用$unwind操作可以实现对文档中数组字段的拆分。在聚合查询中,可以使用$isArray操作符来判断一个字段是否为数组类型,如果是数组类型,则可以使用其他操作符对其进行操作,例如使用$in操作符来判断数组中是否包含某个元素。下面是一个使用$isArray操作符来判断数组元素的示例:
```
db.persons.aggregate([
{
$project: {
"name": 1,
"favoriteApple": {
$cond: {
if: { $isArray: "$fruits" },
then: { $in: [ "apple", "$fruits" ] },
else: false
}
}
}
}
])
```
该示例中,$project操作符用于指定需要返回的字段,其中使用了$isArray操作符来判断字段fruits是否为数组类型,如果是,则使用$in操作符来判断数组中是否包含"apple"元素,如果不是,则返回false。
阅读全文