根据官方 mongo 文档,我可以使用它检索数组的第一个元素,
db.students.find( { semester: 1, grades: { $gte: 85 } }, { "grades.$": 1 } )
但我想要所有没有等级的第一个数组元素:{ $gte: 85 }过滤器,
db.students.find( { semester: 1}, { "grades.$": 1 } )
但我因此而低于错误,
位置投影 'grades.$' 与查询文档不匹配。
您可以使用$slice 运算符,它返回数组的前 X 个元素,您可以将其设置为 1:
db.students.find( { semester: 1}, { "grades": { $slice: 1 } } )
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句