首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mongodb查询中使用可选筛选器

问如何在mongodb查询中使用可选筛选器
EN

Stack Overflow用户
提问于 2021-08-05 10:40:22
回答 1查看 280关注 0票数 0

我有下面的文档模型..。

代码语言:javascript
复制
{
    _id: 'jr3h4h51gkjfhqd',
    first_name: 'bob',
    last_name: 'jones',
    age: 33,
    email: 'bob@bobby.com',
    phone_number: '',
    job: 'accountant',
    title: 'mr'
}

是否有一种方法可以编写一个查询,以便如果提供了一个过滤器,那么查询将有一个特定值的筛选器,否则就不会为该属性应用一个筛选器。

如果未提供筛选器,则忽略该筛选器(本质上,如果不提供筛选器,则所有文档都将被返回),但如果只提供一个筛选器,则查询只应基于该筛选器过滤文档。以下是如果提供了5个过滤器的查询。

代码语言:javascript
复制
User.find(
  {
    first_name: FIRST_NAME_FILTER,
    last_name: LAST_NAME_FILTER,
    email: EMAIL_FILTER,
    job: JOB_FILTER,
    title: TITLE_FILTER
  }
)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-05 12:50:12

你可以在两个地方这样做

  1. 在司机身上 您可以使用驱动程序编程语言并生成查询。 例如
代码语言:javascript
复制
  query={}
  if(first_name_filter) query.add("first_name",first_name_filter);
  if(last_name_filter) query.add("last_name",last_name_filter);
  ...

  User.find(query);
  1. 在数据库中 MongoDB提供$cond聚合运算符,您可以使用聚合进行同样的操作,但是如果您在发送查询之前知道这些信息,则没有理由在数据库中这样做。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68665046

复制
相关文章

相似问题

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