在javascript中
const a = func1() || func2()
如果func1()返回true,则跳过func2() (不会被调用)
这在mongodb $or中也适用吗?
db.collection('something').find( { $or: [ { quantity: { $lt: 20 } }, { price: { $gt: 100 } } ] } )
如果数量小于20,mongodb是否会停止评估价格?
发布于 2016-05-12 13:30:36
$or接受一个列表,其中顺序很重要。
这被称为“短路”评估,如果第一个条件不匹配,则测试下一个条件,依此类推。
查询:
db.somecollection.find( { $or: [ { quantity: { $lt: 20 } }, { price: { $gt: 100 } } ] } )此查询将选择某个集合中数量字段值小于20的所有单据。
如果不满足此条件,则测试下一个条件,即价格字段值是否大于100。
https://stackoverflow.com/questions/37176956
复制相似问题