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
的文档
我正在尝试获取分数大于 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