是的,MongoDB的投影查詢可以進(jìn)行條件篩選。在投影查詢中,您可以使用$elemMatch
操作符來根據(jù)指定條件篩選數(shù)組字段中的元素。$elemMatch
允許您在數(shù)組字段中匹配多個(gè)條件。
以下是一個(gè)使用$elemMatch
進(jìn)行條件篩選的示例:
假設(shè)我們有一個(gè)名為students
的集合,其中包含以下文檔:
{
"_id": 1,
"name": "Alice",
"scores": [
{
"subject": "math",
"score": 90
},
{
"subject": "english",
"score": 85
}
]
}
現(xiàn)在,我們希望查詢所有數(shù)學(xué)成績大于等于90分的學(xué)生。我們可以使用以下投影查詢:
db.students.find(
{},
{
"name": 1,
"scores": {
$elemMatch: {
"subject": "math",
"score": { $gte: 90 }
}
}
}
)
這將返回以下結(jié)果:
{
"_id": 1,
"name": "Alice",
"scores": [
{
"subject": "math",
"score": 90
}
]
}
在這個(gè)例子中,我們使用$elemMatch
操作符在scores
數(shù)組字段中篩選出滿足條件的元素。