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