1
데이터베이스의 개체에는 다양한 개체를 저장할 수있는 '속성'배열이 있습니다. 그들 중 일부는 현재의 숫자 나 범위와 같이 :두 필드 사이에 숫자가 있는지 확인하는 mongodb 쿼리를 만드는 방법은 무엇입니까?
{'value': 10}
또는
{'minValue': 4, 'maxValue': 8}
X처럼, 나는 값 중 하나가 X를 같거나 어디 모든 문서를 찾으려면 특정 번호를 수집 쿼리 minValue < = X < = maxValue. 단점은 속성 배열이 MINVALUE 경우 MAXVALUE를 지정하는 여러 개체를 보유하고있는 경우, X는 이들의 사이가 될 수 있다는 것입니다
db.Pool0.find({$or: [{'properties.value': X}, {'properties.minValue': {$lte: X}, 'properties.maxValue': {$gte: X}}]}, {'_id': 1}).pretty()
같은 쿼리 내 첫 번째 시도가 보인다. 예를 들어
"properties" : [
{
"minValue" : 4,
"maxValue" : 6
},
{
"minValue" : 10,
"maxValue" : 20
}
]
은 X = 8과 일치합니다. 속성 내의 개체 구조가 존중되도록 쿼리를 향상시킬 수 있습니까?
당신이 콜렉션의 일부 문서를 게재 할 수 있습니까? – dikesh