首页 > 解决方案 > Mongo 位置投影 $

问题描述

根据官方 mongo 文档,我可以使用它检索数组的第一个元素,

db.students.find( { semester: 1, grades: { $gte: 85 } }, { "grades.$": 1 } )

但我想要所有第一个没有等级的数组元素:{ $gte: 85 }过滤器,

    db.students.find( { semester: 1}, { "grades.$": 1 } )

但是我为此得到了错误,

位置投影 'grades.$' 与查询文档不匹配。

标签: mongodbmongodb-query

解决方案


您可以使用$slice 运算符,它返回数组的前 X 个元素,您可以将其设置为 1:

db.students.find( { semester: 1}, { "grades": { $slice: 1 } } )    

推荐阅读