2011-09-26 7 views
1

의 히트 행을 취득하는 것은 우리가 다음 JSON 구조를 가지고 있다고 가정 해 봅시다 :MongoDB를

{ 
    { 
     name:"FirstComponent", 
     items:[ 
     { 
      Caption:"Item1", 
      Value:"1" 
     }, 
     { 
      Caption:"Item2", 
      Value:"3" 
     }, 
     { 
      Caption:"Item3", 
      Value:"2" 
     } 
     ] 
    } 
} 

우리가 값 "2"로 항목에 대한 쿼리를 가정 해 봅시다. {"items.Value":"2"} 그리고 우리는 전체 문서를 되 찾을 것입니다. 내가 갖고 싶은 것은 그것이 부딪힌 하위 문서의 인덱스입니다. 내 시나리오에서는 좋을 것입니다.

검색 결과에 가장 먼저 도달 한 문서가 어떤 것인지 알 수있는 방법이 있습니까?

답변

1

아니요, 그건 이해가되지 않을 것입니다. 반환하는 문서의 어디에 인덱스를 저장하겠습니까?

정말 필요한 경우 색인을 찾으려면 C#에서 배열을 다시 검사해야합니다.

+0

내 생각 이었지만 어쨌든 다시 한번 스캔하고 있습니다. 그것은 "설명"의 아날로그로 구현 될 수있는 "쇼 인덱스"와 같은 전문화 된 명령에 대한 색인을 반환 할 수 있습니다. –

+0

하지만 두 번째 '스캐닝'은 작은 메모리 내 데이터 구조의 C# 코드에 있으므로 마이크로 초 안에 있습니다. –

+0

예, 시간 소비량은 적지 만 코드가 더 복잡해지고 팀의 다른 개발자가 인식하지 못하는 것처럼 느껴집니다. 패치와 비슷합니다. –