有没有办法在 MongoDB 中创建一个具有多个值的过滤器?
Posted
技术标签:
【中文标题】有没有办法在 MongoDB 中创建一个具有多个值的过滤器?【英文标题】:Is there some way to create a filter with more than one value in MongoDB? 【发布时间】:2021-10-23 06:15:27 【问题描述】:我对 MongoDB 还很陌生,我正在尝试创建一个组合多个属性的过滤器。
例如,假设我想根据模型Object
中a
和b
两个属性的乘积是否大于threshold
来过滤搜索结果。
我会做这样的事情吗?
Object.find(
a * b : $gt: threshold
);
我已经尝试过了,但是我遇到了各种各样的错误。
【问题讨论】:
【参考方案1】:您可以使用表达式运算符$expr
为内部字段设置条件,
$multiply
运算符
$gt
运算符与 threshold
字段匹配
Object.find(
$expr:
$gt: [
$multiply: ["$a", "$b"] ,
"$threshold"
]
)
Playground
【讨论】:
以上是关于有没有办法在 MongoDB 中创建一个具有多个值的过滤器?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 cloudformation 模板中创建具有多个电子邮件收件人的 SNS 主题?