首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongodb $or评估

Mongodb $or评估
EN

Stack Overflow用户
提问于 2016-05-12 11:54:17
回答 1查看 284关注 0票数 1

在javascript中

const a = func1() || func2()

如果func1()返回true,则跳过func2() (不会被调用)

这在mongodb $or中也适用吗?

db.collection('something').find( { $or: [ { quantity: { $lt: 20 } }, { price: { $gt: 100 } } ] } )

如果数量小于20,mongodb是否会停止评估价格?

EN

回答 1

Stack Overflow用户

发布于 2016-05-12 13:30:36

$or接受一个列表,其中顺序很重要。

这被称为“短路”评估,如果第一个条件不匹配,则测试下一个条件,依此类推。

查询:

代码语言:javascript
复制
db.somecollection.find( { $or: [ { quantity: { $lt: 20 } }, { price: { $gt: 100 } } ] } )

此查询将选择某个集合中数量字段值小于20的所有单据。

如果不满足此条件,则测试下一个条件,即价格字段值是否大于100。

Source

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37176956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档