복붙노트

[MONGODB] 새로운 분야에 배열 프로젝트의 첫 번째 항목 (MongoDB를 집계)

MONGODB

새로운 분야에 배열 프로젝트의 첫 번째 항목 (MongoDB를 집계)

나는 몽구스 집계 (MongoDB를 버전 3.2)를 사용하고 있습니다.

나는 배열 필드 사용자가 있습니다. 나는 새로운 분야의 사용자에게이 배열의 프로젝트 첫 번째 항목을 $ 싶다.

나는 시도

  { $project: {
    user: '$users[0]',
    otherField: 1
  }},

  { $project: {
    user: '$users.0',
    otherField: 1
  }},

  { $project: {
    user: { $first: '$users'},
    otherField: 1
  }},

그러나 어느 쪽도 작동하지 않습니다.

어떻게하면 제대로 할 수 있습니까? 감사

해결법

  1. ==============================

    1.당신은 arrayElemAt을 사용할 수 있습니다 :

    당신은 arrayElemAt을 사용할 수 있습니다 :

    { $project: {
        user: { $arrayElemAt: [ "$users", 0 ] },
        otherField: 1
    }},
    
  2. from https://stackoverflow.com/questions/39196537/project-first-item-in-an-array-to-new-field-mongodb-aggregation by cc-by-sa and MIT license