Mongodb查询根据自定义比较器选择小于等于

时间:2015-06-13 23:07:18

标签: mongodb mongodb-query

我正在使用mongodb数据库,我需要根据自定义比较器运行小于等于过滤器。以下是更多细节。

  1. “profile”集合将“level”字段作为字符串

    {"name":"Test1", "level":"intermediate"}
    
  2. 以下是等级值及其相应的权重

    1. 新手
    2. 中间
    3. 经验丰富的
    4. 提前
  3. 我想编写如下所示的查询,以便它应该返回小于等于“经验”的所有配置文件集合(即包括“新手”,“中间”和“有经验”的结果< / p>

    db.profile.find( { level: { $lte: "experienced" } } )
    
  4. 据我所知,我需要提供自定义比较器。但我该怎么办?

1 个答案:

答案 0 :(得分:0)

您无法在MongoDB查询中使用自定义比较器。可用的是:$eq, $gt, $gte, $lt, $lte, $ne, $in, $nin

但是,您可以使用$in来获得所需内容:

db.profile.find( { level: { $in: [ "experienced", "intermediate ", "novice" ] } } );