복붙노트

[MONGODB] MongoDB를 : 여러 기준에 배열에서 찾기 값

MONGODB

MongoDB를 : 여러 기준에 배열에서 찾기 값

나는 다음과 같은 문서가 :

{_id : 1, numbers : [-1000, 1000]}
{_id : 2, numbers : [5]}

내가 -10과 10 사이의 숫자 배열의 값을 갖는 문서를 찾을 수 쿼리를 얻기 위해 노력하고있어 (이 경우 _ID : 2). 그러나, 나는 다음을 시도 할 때 :

db.foo.find({numbers : $and : [{$gt : -10},{$lt : 10}]})

그것은 모든 문서를 반환합니다. 이지도-감소없이 할 수 있습니까? 감사합니다, -JWW

해결법

  1. ==============================

    1.당신은 배열의 요소는 지정된 경기의 표현과 일치하는지 확인하기 위해 $ elemMatch를 사용할 수 있습니다.

    당신은 배열의 요소는 지정된 경기의 표현과 일치하는지 확인하기 위해 $ elemMatch를 사용할 수 있습니다.

    이 경우에, 당신은 누구의 숫자 배열 -10와 10 사이 인 요소가 문서를 얻을하는 데 사용할 수 있습니다 :

       db.foo.find( { numbers : { $elemMatch : { $gt : -10 , $lt : 10 } } } );
    

    이 문서 :이 단지 _id를 반환합니다.

  2. from https://stackoverflow.com/questions/12148845/mongodb-find-value-in-array-with-multiple-criteria by cc-by-sa and MIT license