检查两列值之间的值输入。

时间:2017-10-02 11:55:45

标签: mongodb

我有包含3列的记录 Title MinValue MaxValue

现在我正在使用过滤器并想获得我输入值的标题。

记录:

[
    {
        title : "1-10",
        minValue : 1, 
        maxValue : 10
    },
    {
        title : "11-20",
        minValue : 11, 
        maxValue : 20
    },
    {
        title : "21-30",
        minValue : 21, 
        maxValue : 30
    }
]

我需要mondodb查询,它将返回记录

  

考虑我输入5然后它将返回第一条记录

2 个答案:

答案 0 :(得分:1)

您可以使用$ gt和$ lt参数。

.find({ minValue : { $gt :  5}, maxValue : { $lt : 5 }})

答案 1 :(得分:1)

这是一个解决方案:

var target = 5;

db.foo.find({minValue: {"$lt":target}, maxValue: {"$gt":target}}, {_id:0,title:1});

find的第二个参数是投影。它表示不显示_id但显示标题。