반응형
mongo 집계 쿼리에서 $project를 사용하여 필드를 최상위 문서로 반환할 수 있습니까?
다음과 유사한 문서가 있으며, 결과 배열에서 현재 최상위 문서의 필드를 최상위 문서로 반환합니다.
{
field1:{contents:{}}
field2:{othercontent:{}}
}
집계 쿼리 결과에서 다음을 반환합니다.
{
contents:{}
}
$project와 Aggregation Framework로 이 작업을 수행할 수 있습니까?
예, 사용할 수 있습니다.$project
그러기 위해서는.당신은 단지 그것에게 중첩된 것을 회수하라고 말하면 됩니다.contents
점 표기법을 사용한 객체:
db.items.aggregate( {$project: {contents:'$field1.contents'}} );
또한, 당신이 숨기려는 경우_id
출력의 필드를 지정할 수 있습니다._id: 0
에서$project
매개 변수:
db.items.aggregate( {$project: {contents:'$field1.contents', _id:0}} );
시작하는
Mongo 3.4
집계 연산자를 사용하여 문서를 다른 문서로 대체할 수 있습니다(이 경우 하위 연산자로 대체).// { field1: { content: { a: 1, b: 2 } }, field2: { othercontent: {} } } // { field1: { content: { c: 1, d: 2 } }, field2: { othercontent: {} } } db.collection.aggregate({ $replaceRoot: { newRoot: "$field1" } }) // { content: { a: 1, b: 2 } } // { content: { c: 1, d: 2 } }
시작하는
Mongo 4.2
연산자를 사용할 수도 있습니다.db.collection.aggregate({ $replaceWith: "$field1" })
언급URL : https://stackoverflow.com/questions/19434237/can-i-use-project-to-return-a-field-as-the-top-level-document-in-a-mongo-aggreg
반응형
'code' 카테고리의 다른 글
openapi springboot generator jacksonno String-인수 생성자/공장 메서드에서 문자열 값을 역직렬화합니다. (0) | 2023.07.02 |
---|---|
두 행 간의 시간 차이 계산 (0) | 2023.06.27 |
새로운 파이프 역추적 런타임 문제 해결 (0) | 2023.06.27 |
URL로 인코딩된 양식 데이터가 잘못되었습니다. (0) | 2023.06.27 |
범례 gg 그림 2.2 제거 (0) | 2023.06.27 |