我正在尝试获取分数大于90或小于50的文档。我知道获取文档的正确查询,这是第一个。我只是想知道第二个查询做了什么(我知道这是不正确的)。它取得了文档,但我不明白它的作用。
1. db.subjects.find( { $or : [{"score" : { $lt : 50 }}, {"score" : { $gt : 90}}] } )
2. db.subjects.find( { $or : [{"score" : { $lt : 50 }, "score" : { $gt : 90}}] } )
答案 0 :(得分:2)
原因是JSON文档中允许使用重复键,因此第二个查询与:
相同db.subjects.find( { $or : [{ "score" : { $gt : 90 } } ] })
或更好
db.subjects.find( { "score" : { $gt : 90 } })
因此,如果您检查查询结果,您将看到它只返回那些"得分"大于90