是的,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
数组字段中筛选出满足条件的元素。