판별

2012-03-20 3 views
2

없이 MongoDB의에서 문서를 조회하는 것은 나는 다음과 같은 구조와 명령을 사용하여 MongoDB 모음에서 문서를 만드는 경우를 가정 해 : 판별

db.foo.insert(
    { 
     "PatientCore" : 
     { "Name" : "John Doe", "Age" : 30 }, 
     "OnArrivalData" : 
     { 
      "Readings" : 
      { "Temperature" : 100.1, "HBP" : 140, "LBP" : 88, "TimeStamp" : new Date() }, 
      "Attending Doctor" : "Dr. Samuel John" 
     }, 
     "TreatmentStage" : 
     [ 
      { 
       "StageName" : "Surgery", 
       "Readings" : 
       [ 
        { "Temperature" : 100.1, "HBP" : 130, "LBP" : 70, "TimeStamp" : new Date() }, 
        { "Temperature" : 99.1, "HBP" : 120, "LBP" : 70, "TimeStamp" : new Date() 
       ], 
      }, 
      { 
       "StageName" : "ICU", 
       "Readings" : 
       [ 
        { "Temperature" : 99, "HBP" : 135, "LBP" : 72, "TimeStamp" : new Date() }, 
        { "Temperature" : 98.6, "HBP" : 141, "LBP" : 80, "TimeStamp" : new Date() } 
       ], 
      } 
     ] 
    } 
) 

는 첫째, 나는이 문서에서 "읽기"여러 번을 참고하시기 바랍니다.

문서 전체에 걸쳐 "읽기"를 쿼리하여 포함 된 문서에 대한 참조로 한정하지 않아도됩니다. 이것을 어떻게 할 수 있습니까? 우리는 "독서 과제"의 구조가 일관성이 있다고 가정 할 수 있습니다.

문서를 다시 구조화 할 수 있다는 것을 알고 있지만 여기서 자유를 할 수는 없습니다.

+0

무엇 "나는 포함 된 문서에 대한 참조를 한정하지 않는 방식으로 문서를 통해"독서를 "나는 조회 할"않습니다 의미? 특히 비영어권 사용자를 위해 쿼리해야하는 값과 나오는 값이 무엇인지 예를 추가하는 것이 일반적으로 더 실용적입니다. –

+2

@RemonvanVliet : 그는 'OnArrivalData.Readings' 및'TreatmentStage.Readings'보다는 명시 적으로 '* .Readings'와 같은 것을 말하고 싶습니다. –

+0

"Readings"라는 키가 문서에서 세 번 나타납니다. 나는 "Readings"키의 모든 인스턴스가 문서의 위치에 관계없이 반환되는 방식으로 문서를 쿼리하려고합니다. 이번에 내가 충분히 명확 해 지길 바란다. – Kabeer

답변

2

MongoDB가 필드 이름 와일드 카드를 이해해야하므로 현재로서는 불가능합니다. 그것은 쓰기의 시간에하지 않는 {'*.Readings.Temperature': 99} 같은 것들을 허용해야 할 것입니다.

THER 기능 요청이 여기 https://jira.mongodb.org/browse/SERVER-267

관련 문제