Mongodb 如何在mongo查询中进行条件匹配?

Mongodb 如何在mongo查询中进行条件匹配?,mongodb,mongoose,mongodb-query,aggregation-framework,Mongodb,Mongoose,Mongodb Query,Aggregation Framework,我正在解决一个问题,即在前端提交参数的基础上对对象应用匹配/筛选。我尝试了$match with if else条件,但无法在条件语句中应用match。我甚至尝试过滤$project中的对象 问题: 我有“开始日期”字段、“结束日期”字段和“雇用”复选框,如果我输入开始日期和结束日期并单击“应用筛选器”按钮,后端端点将接收这两个日期,然后作为回报,我希望获得开始日期和结束日期之间的结果,但如果我将“结束日期”字段留空并仅在“开始日期”字段中输入日期,然后查询应返回大于开始日期的结果。同样,如果我

我正在解决一个问题,即在前端提交参数的基础上对对象应用匹配/筛选。我尝试了$match with if else条件,但无法在条件语句中应用match。我甚至尝试过滤$project中的对象

问题: 我有“开始日期”字段、“结束日期”字段和“雇用”复选框,如果我输入开始日期和结束日期并单击“应用筛选器”按钮,后端端点将接收这两个日期,然后作为回报,我希望获得开始日期和结束日期之间的结果,但如果我将“结束日期”字段留空并仅在“开始日期”字段中输入日期,然后查询应返回大于开始日期的结果。同样,如果我选中Employee复选框,它应该返回使用true和大于开始日期的日期的对象

users: [
    {
      _id: ObjectId("5a934e000102030405000900"),
      name: "Jonathan",
      employed: true,
      joined: "2020-08-28"
    },
    
      _id: ObjectId("5a934e000102030405001900"),
      name: "Jonny",
      employed: false,
      joined: "2020-07-11"
    }]

您可以这样做: