比赛

2017-10-28 218 views
-1

我有数字阵列[111, 444, 777]比赛

我想看看这两个文件里面

{ 
    _id: 1, 
    lookHere: {rangeLow: 333, rangeHigh: 555} 
}, 
{ 
_id: 2, 
    lookHere: {rangeLow: 222, rangeHigh: 333} 
} 

我想只写一个返回查询第一个文件,因为我的数组数组包括444之间的333和555.

是否有一个查询,可以实现这种结果在mongo/mongoose?

回答

1

你想要一个$or查询。您可以.map()源数组的参数为$or

var inputs = [111, 444, 777]; 

collection.find({ 
    "$or": inputs.map(n => ({ 
    "lookHere.rangeLow": { "$lt": n }, 
    "lookHere.rangeHigh": { "$gt": n } 
    })) 
}) 

,基本上是想看看是否低值小于和高比每个电流元件的数量,并返回为真时,任何匹配这两个条件。

请注意,除非另有说明,否则所有MongoDB查询参数都是隐式AND条件。