【发布时间】:2022-01-19 16:55:07
【问题描述】:
当我运行以下查询时,“等级”上的 $eq 为 80,“平均”上的 $gt 为 80。我得到的结果是“等级”85
db.Test_Collection.find({"semester":3, "grades.grade": { $eq:80 },"grades.mean": { $gt:80 }},{ "grades.$": 1 })
下面是结果
{ "_id" : ObjectId("61b9c7fd0855658fad86a10c"), "grades" : [ { "grade" : 85, "mean" : 90, "std" : 5 } ] }
【问题讨论】:
-
完整文档中的同一个数组是否包含grade=80的对象?
-
您期望的结果是什么,为什么?
-
是的,它在那里
-
是的,它在那里 > db.Test_Collection.find({}) { "_id" : ObjectId("61b9c7fd0855658fad86a10c"), "semester" : 3, "grades" : [ { "grade" : 80,“平均”:75,“标准”:8 },{“等级”:85,“平均”:90,“标准”:5 },{“等级”:90,“平均”:85,“标准” " : 3 } ] } { "_id" : ObjectId("61b9c9450855658fad86a10e"), "semester" : 3, "grades" : [ { "grade" : 92, "mean" : 88, "std" : 8 }, { “等级”:78,“平均”:90,“标准”:5},{“等级”:88,“平均”:85,“标准”:3}]}我期待{“_id”:ObjectId( “61b9c7fd0855658fad86a10c”),“学期”:3,“成绩”:[{“成绩”:80,“平均”:75,“标准”:8}