Q20。编写一个MongoDB查询以查找那些得分不超过10的餐厅ID,名称,自治市镇和美食。
我正在尝试通过以下方式进行尝试,但可以看到我得到的餐厅的评分分别为[2,6,10,9,14]和[8,23,12,12]。所以我知道这是不对的。
for r in restaraunts
for g in r.grades
filter g.score <=10
return distinct {ID:r.restaurant_id,name:r.name,borough:r.borough,cuisine:r.cuisine,score:r.grades[*].score}
请帮忙,我尝试过不同的分数预测,但是我觉得自己有些不足。如果我使用收集我仍然会错
collect rest=r.restaurant_id,name= r.name, bor=r.borough,cuis=r.cuisine, sc=r.grades[*].score into groups
for g in sc
filter g<=10
return {rest:rest,name:name,bor:bor,cuis:cuis,sc:g}
使用该MAX()
函数确定要过滤的值:
for r in restaurants
LET score = MAX(r.grades[*].score)
filter score <=10
return distinct {ID:r.restaurant_id,name:r.name,borough:r.borough,cuisine:r.cuisine,score:score}
我没有针对您的数据集对此进行测试,但是有一个小片段:
LET r = {'grades': [ {score: 5}, {score: 7}, {score: 15} ] }
RETURN MAX(r.grades[*].score)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句