有没有办法在 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 还很陌生,我正在尝试创建一个组合多个属性的过滤器。

例如,假设我想根据模型Objectab两个属性的乘积是否大于threshold来过滤搜索结果。

我会做这样的事情吗?

Object.find(
   a * b : $gt: threshold
);

我已经尝试过了,但是我遇到了各种各样的错误。

【问题讨论】:

【参考方案1】:

您可以使用表达式运算符$expr 为内部字段设置条件,

乘以$multiply 运算符 $gt 运算符与 threshold 字段匹配
Object.find(
  $expr: 
    $gt: [
       $multiply: ["$a", "$b"] ,
      "$threshold"
    ]
  
)

Playground

【讨论】:

以上是关于有没有办法在 MongoDB 中创建一个具有多个值的过滤器?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 cloudformation 模板中创建具有多个电子邮件收件人的 SNS 主题?

有没有办法在一个脚本中创建多个触发器?

有没有办法在 Google Dataflow 中创建具有数据相关架构的 Bigquery 表?

创建没有值的 MongoDB 文档

有没有办法一次在 BigQuery 中创建多个表?

如何从具有多个值和预定义类别的列表中创建虚拟对象? [复制]