[MONGODB] MongoDB의의 $ 프로젝트 : 이전의 파이프 라인 필드를 유지 [중복]
MONGODBMongoDB의의 $ 프로젝트 : 이전의 파이프 라인 필드를 유지 [중복]
방법은 MongoDB를 돌기에, 새로운 필드를 지정합니다 (그러나 동시에, 파이프 라인의 투사 단계에 입력 된 필드를 유지)이 있습니까? 나는 기존 필드의 이름을 변경하고 있지 않다.
그래서 나는 '필드 1'과 'FIELD2'이있는 컬렉션을 시작, 다음과 같은 투사 할 경우 :
{ $project: { field3: { $gt: ['$field1', 10] } } }
I는 통합 프레임 워크에서 '필드 1', '2 필드', 다음 스테이지에 대한 입력으로 'FIELD3'본 또는 출력 결국 싶다.
나는 _id 제외하여 제외 모드로 투사를 넣어 시도,하지만 그 일을하지 않습니다.
해결법
-
==============================
1.MongoDB를 2.6은 거의 당신이 원하는 않는 새로운 $$ ROOT 집계 변수를 도입 : 당신이 알고 있거나 포함 필드를 지정할 필요가 없습니다 전체 문서가, 현재 파이프 라인 단계에서 처리되는 포함됩니다.
MongoDB를 2.6은 거의 당신이 원하는 않는 새로운 $$ ROOT 집계 변수를 도입 : 당신이 알고 있거나 포함 필드를 지정할 필요가 없습니다 전체 문서가, 현재 파이프 라인 단계에서 처리되는 포함됩니다.
귀하의 예를 집계 촬영 및 $$ ROOT와 필드 투영을 추가 :
db.pipeline.aggregate( { $project: { field3: { $gt: ['$field1', 10] }, fields: "$$ROOT" }} )
출력은 신규 필드 계산은 모든 원래의 필드를 포함한다 :
{ "_id" : ObjectId("53b56cc542974939144cee2a"), "field3" : false, "fields" : { "_id" : ObjectId("53b56cc542974939144cee2a"), "field1" : 1, "field2" : 2, "field3" : 3 } }
MongoDB를 3.3.11 소개하고는 addFields 당신이 원하는 것을 그 단계를 응집. MongoDB의 문제 추적기에서이 항목을 참조하십시오 : SERVER-5781이 - 문서에 새 필드를 추가하는 표현 언어를 사용하는 $ addFields 집계 단계를 구현합니다.
-
==============================
2.$ 프로젝트의 요구가 통과 할 수있는 필드를 지정하는 경우, $ addFields 모든 필드를 반환하고 추가하거나 지정된 필드를 대체합니다.
$ 프로젝트의 요구가 통과 할 수있는 필드를 지정하는 경우, $ addFields 모든 필드를 반환하고 추가하거나 지정된 필드를 대체합니다.
{ $addFields: { field3: { $gt: ['$field1', 10] } } }
정확히 당신이 원하는 것을 달성 할 것이다.
주의 사항이 기능은 몽고 버전 3.4에서 추가되었다.
-
==============================
3.만 기본적으로 투사됩니다 _ID. 당신은 다른 필드가 투영 될 것을 지정해야합니다.
만 기본적으로 투사됩니다 _ID. 당신은 다른 필드가 투영 될 것을 지정해야합니다.
{ $project: { field1:1,field2:1, field3: { $gt: ['$field1', 10] } } }
또는
{ $project: { field1:'$field1',field2:'$field2', field3: { $gt: ['$field1', 10] } } }
from https://stackoverflow.com/questions/20497499/mongodb-project-retain-previous-pipeline-fields by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 증가하는 데이터 구조와 MongoDB의 성능 (0) | 2019.12.24 |
---|---|
[MONGODB] 내가 / 내 편안하고 URL을에서 ObjectId가 사용하지 말아야 할 이유는 어떤 이유가있다 (0) | 2019.12.24 |
[MONGODB] 몽구스 스키마 참조 및 정의되지 않은 형식 'OBJECTID' (0) | 2019.12.24 |
[MONGODB] 컬렉션 대 MongoDB를 데이터베이스 (0) | 2019.12.24 |
[MONGODB] 몽구스, 발견, 반환 특정 속성 (0) | 2019.12.24 |