반환 된 문서에 하위 문서가없는 쿼리 나 집계를 만들고 싶습니다. 주어진 필드가 하위 문서가 될 것임을 미리 알지 못합니다 (아니면 그냥 건너 뛸 때 프로젝션을 사용합니다). 그래서 예를 들어,이 같은 문서가있는 경우 :MongoDB 쿼리 또는 집계를 사용하여 하위 문서 건너 뛰기
내 쿼리가이 문서를 반환{
_id: 1,
field1: "a",
field2: "b",
field3: {
subfield1: "c",
subfield2: "d"
}
}
, 그것은 FIELD3를 건너 뛰거나, 뭔가 다른 (예를 들어, 문자열 = "field_is_an_object")와 FIELD3의 값을 대체 하나를.
앞서 언급했듯이 어떤 필드가 하위 문서 (또는 "개체"유형)인지 알 수 없습니다. $ redact 연산자는 내가 찾을 수있는 가장 가까운 연산자 였지만 작동 시키려면 구문을 이해할 수 없었습니다.
감사의 말. 자세한 설명은 매우 도움이됩니다. 내 유일한 의견은 $ objectToArray 작업이 3.6에서 새롭고 3.6이 공식적으로 아직 릴리스되지 않았다는 것입니다. 최신 RC 3.6을 설치했는데 작동했습니다. –
3.4에서 사용할 수 있습니다. https://docs.mongodb.com/manual/reference/operator/aggregation/objectToArray/ – dnickless
글쎄, 당황 스럽네. 나는 3.4.0에 있었기 때문에 나를 위해 일하지 않았다. 나는 "3.6에서 추가했다"고 말한 것을 보았습니다. 그래서 그것이 제가 설치 한 것입니다. 문서에 명확하게 그것이 3.4.4에 추가되었다고되어 있지만. 다시 한번 감사드립니다. –