Mongo DB - OR 运算符的选择

Mongo DB - Selection for OR Operator

我正在尝试获取分数大于 90 或小于 50 的文档。我知道获取文档的正确查询,这是第一个。我只想知道第二个查询做了什么(我知道这是不正确的)。它获取文档,但我不明白它的作用。

1. db.subjects.find( { $or : [{"score" : { $lt : 50 }}, {"score" : { $gt : 90}}] } )

2. db.subjects.find( { $or : [{"score" : { $lt : 50 }, "score" : { $gt : 90}}] } )

原因是 JSON 文档中允许重复键,所以第二个查询与:

db.subjects.find( { $or : [{ "score" : { $gt : 90 } } ] })

或更好

db.subjects.find( { "score" : { $gt : 90 } })

因此,如果您检查查询结果,您会发现它仅 returns 只有那些 "score" 大于 90

的文档