gpt4 book ai didi

Mongoose 使用 $and 应用相同属性的两个过滤器

转载 作者:行者123 更新时间:2023-12-04 08:00:43 24 4
gpt4 key购买 nike

我有一个状态属性,我想应用一个日期过滤器 仅当状态为待处理时 ,对于其他状态,不需要日期过滤器。

  • 仅返回添加到“$in”的状态。
  • 如果状态为待定,则应用日期过滤器(日期小于当前时间)。

  • 我喜欢这个,但它不能正常工作。
       filter = { $and: [ { 
    'package' : {$in: ids},
    'status': {$in: ['pending', 'accepted', 'charged', 'captured']},
    date
    },
    {
    $and:[
    {status : 'pending', date:{$lt:current_time}},
    ]
    }
    ]
    };

    最佳答案

  • 使用 $or而不是 $and ,因为它将满足条件之一
  • 删除 pending状态来自 $in条件
  • $and包装 package条件和 $or条件
  • filter = {
    $and: [
    { package: { $in: ids } },
    {
    $or: [
    { status: { $in: ["accepted", "charged", "captured"] } },
    {
    status: "pending",
    date: { $lt: current_time }
    }
    ]
    }
    ]
    };
    Playground

    关于Mongoose 使用 $and 应用相同属性的两个过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66485495/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com