2013-01-28 5 views
1

옥션 컬렉션에서 이러한 종류의 쿼리를 시도하고 있습니다. 목적은 item == 2770dump == ObjectId("5104f03a46ab64d404000000") or ObjectId("51067f4946ab644003000000") or ObjectId("5106924e46ab64c81c000000")과 함께 모든 문서를 반환하는 것입니다.

{ 
    item: 2770, 
    dump: { 
     $all: [ 
      ObjectId("5104f03a46ab64d404000000"), 
      ObjectId("51067f4946ab644003000000"), 
      ObjectId("5106924e46ab64c81c000000") 
     ] 
    } 
} 

이 쿼리는, 나에게 단이 하나 (필자는 $ 모든 운영자에 포함 된 덤프를 사용하는 메모를) 아무것도 반환 나에게 문서의 목록을 반환하지 않습니다. $ 연산자의 모든 동작에 대해 나는 무시하고 있습니까? 당신이 $all 사용하는 경우에는 다음

{ 
    item: 2770, 
    dump: ObjectId("5106924e46ab64c81c000000") 
} 

내 경매 수집

{ 
    _id: ObjectId("5106924e46ab64c81c000237"), 
    auc: 1560105766, 
    item: 2770, 
    owner: "Ozrael", 
    bid: 450000, 
    buyout: 450000, 
    quantity: 20, 
    timeLeft: "VERY_LONG", 
    dump: ObjectId("5106924e46ab64c81c000000"), 
    faction: "horde", 
    bidPricePerUnit: 22500, 
    buyoutPricePerUnit: 22500 
} 
+1

$in은 아마 당신이 여기 대신'$의 all'의'$의 in' 연산자를 사용해야입니다 지정된 값 중 하나가 포함 된 문서하였습니다. –

+0

네, 예제에서 $ in을 사용하는 것도 문제입니다. –

+0

네, 고마워요. – Oxymore

답변

2

, 문서에 말했듯이.

올바른 연산자

0

문서의 예입니다, 당신의 결과 집합의 모든 문서는 모두 언급 한 값을 가질 예정이다. 당신의 예에서 문서는 다음과 같은 구조를 찾을 수 있어야한다 : 나는 $all는 전체 배열을 일치되는 쿼리에 대한 잘못된 연산자를 사용했다

{ 
    _id: ObjectId("5106924e46ab64c81c000237"), 
    auc: 1560105766, 
    item: 2770, 
    owner: "Ozrael", 
    bid: 450000, 
    buyout: 450000, 
    quantity: 20, 
    timeLeft: "VERY_LONG", 
    dump: [ 
      ObjectId("5104f03a46ab64d404000000"), 
      ObjectId("51067f4946ab644003000000"), 
      ObjectId("5106924e46ab64c81c000000") 
      ], 
    faction: "horde", 
    bidPricePerUnit: 22500, 
    buyoutPricePerUnit: 22500 
} 
+0

답변을 주셔서 감사합니다. 어리 석음에 시달렸습니다. 사용해야하는 연산자는 $ in입니다. – Oxymore

+0

당신은 질문에 대한 답을 제공하지 않고 오히려 OP가 얻은 대답에 따라 질문 자체를 변경하려고합니다. 그것은 단순히 전혀 이해가되지 않습니다. –

+0

그가 질문에 대답하지 않더라도 자신의 게시물은 정확한 운영자에게 안내해주었습니다. – Oxymore

관련 문제