2015-01-28 6 views
1

내가 데이터베이스에서 문서 말해봐 :MongoDB의 쿼리

{"name": "Jason", "score": 20, "color": "blue"} 

을 내가 이름과 점수 문서가 포함 된 데이터의 배열을 가지고, 내가 쿼리 할 수있는 방법이있다 이름과 점수의 조합은 $in을 통해? 예를 들어, 내가

var data = [ 
    {"name": "Bob", "score": 12} 
    {"name": "Jason", "score": 20} 
    {"name": "Tammy", "score": 19} 
]; 

처럼 보였다 목록을했다 그리고 내가 그렇게 할 수있는 방법, data 내에서 발견 namescore의 조합 말했다 모음 내 존재하는지 컬렉션을 조회하고 싶다면?

+0

필드 자체는 배열이 아니므로 메모리 내 배열을 사용하여 해당 필드를 쿼리하고 싶습니다. 문서에서 : "$ elemMatch 연산자는 지정된 모든 쿼리 조건과 일치하는 요소가 하나 이상있는 배열 필드가 들어있는 컬렉션의 문서를 찾습니다." – jtmarmon

+0

레코드의 경우, 위의 응답은'$ elemMatch' 쿼리를 사용하는 사용자에게 응답 한 것입니다 – jtmarmon

답변

4

왜냐하면 $in은 실제로 $or의 축약 된 형태이기 때문입니다. 이미 배열이 있습니다.

db.collection.find({ "$or": data })