Mongoose를 사용하여 값으로 배열 배열의 항목 만 찾기

코드 공포증

다음은 일부 데이터가있는 내 스키마의 예입니다.

client {
  menus: [{
    sections: [{
      items: [{
        slug: 'some-thing'
      }]
    }]
  }]
}

그리고 나는 이것을 다음과 같이 선택하려고합니다.

Schema.findOne({ client._id: id, 'menus.sections.items.slug': 'some-thing' }).select('menus.sections.items.$').exec(function(error, docs){
  console.log(docs.menus[0].sections[0].items[0].slug);
});

물론 "docs.menus [0] .sections [0] .items [0] .slug"는 각 배열에 하나만있는 경우에만 작동합니다. 찾기 위해 모든 항목을 반복 할 필요없이 각 배열에 여러 항목이있는 경우 어떻게해야합니까?

더 자세한 정보가 필요하면 알려주세요.

닐 룬

통합 프레임 워크는 위치 운영자가 당신을 실패합니다 중첩 배열에 물건을 찾기위한 좋은 :

Model.aggregate(
    [
       // Match the "documents" that meet your criteria
       { "$match": {
           "menus.sections.items.slug": "some-thing"
       }},

       // Unwind the arrays to de-normalize as documents
       { "$unwind": "$menus" },
       { "$unwind": "$menus.sections" },
       { "$unwind": "$menus.sections.items" }


       // Match only the element(s) that meet the criteria
       { "$match": {
           "menus.sections.items.slug": "some-thing"
       }}

       // Optionally group everything back to the nested array
       // One step at a time
       { "$group": {
           "_id": "$_id",
           "items": { "$push": "$menus.sections.items.slug" }
       }},
       { "$group": {
           "_id": "$_id",
           "sections": { 
               "$push": { "items": "$items" }
           }
       }},
       { "$group": {
           "_id": "$_id",
           "menus": { 
               "$push": { "sections": "$sections" }
           }
       }},
    ],
    function(err,results) {

    }
)

$first사용할 때 문서에 다른 필드를 유지하는 것과 같은 다른 집계 연산자도 참조 하세요 $group.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

jquery를 사용하여 배열의 객체 값을 기반으로 목록 항목의 너비 설정

분류에서Dev

Node를 사용하여 객체의 키 값만으로 객체 배열의 인덱스 찾기

분류에서Dev

NodeJS를 사용하여 json 배열에서 항목 찾기

분류에서Dev

2 차원 배열을 만들지 않고 푸시를 사용하여 다른 배열의 값으로 배열 만들기 (JavaScript)

분류에서Dev

배열의 키를 비교하고 비교 값으로 새 배열 만들기

분류에서Dev

하나의 배열 열에서 배열 값과 일치하는 항목 찾기

분류에서Dev

Mongoose를 사용하여 MongoDB의 배열 항목에 액세스

분류에서Dev

Mongoose-기존 항목을 사용하여 날짜 필드를 날짜 배열로 변환

분류에서Dev

현재 배열에있는 각 항목의 첫 번째 요소를 기반으로 새 배열 만들기

분류에서Dev

Angular 7-ngFor를 사용하여 배열 A 링크의 마지막 항목 만들기

분류에서Dev

배열 내 ID (PHP)를 기준으로 다중 배열의 첫 번째 항목 만 정렬

분류에서Dev

getElementById를 사용하여 div의 innerHTML을 = 여러 배열 항목으로 설정

분류에서Dev

mongoose를 사용하여 항목을 배열로 푸시 할 수 없습니다.

분류에서Dev

키 값으로 배열 결과를 필터링하여 새 배열 만들기

분류에서Dev

Javascript를 사용하여 ID로 필터링하는 두 개의 기존 배열에서 새 배열 만들기

분류에서Dev

가중 확률과 값을 사용하여 배열에서 항목 찾기

분류에서Dev

Javascript를 사용하여 다른 배열에서 각 요소의 후행 번호로 배열 만들기

분류에서Dev

NSPredicate를 사용하여 배열 속성을 기반으로 CoreData 항목 목록 필터링

분류에서Dev

두 배열의 경우 하나의 배열에만있는 항목 찾기 (대칭 차이)

분류에서Dev

일반 JavaScript를 사용하여 배열의 중복 항목 가져 오기

분류에서Dev

TypeScript를 사용하여 배열 항목의 인터페이스 고유 값

분류에서Dev

ajax를 사용하여 쉼표로 구분 된 배열 항목으로 텍스트 영역 채우기

분류에서Dev

Pandas를 사용하여 다른 열의 값을 기반으로 열 만들기

분류에서Dev

PHP로 mongodb의 인덱스를 사용하여 배열 항목 반환

분류에서Dev

배열의 값을 사용하여 객체 만들기

분류에서Dev

VBA 배열의 값을 사용하여 Excel 차트 만들기

분류에서Dev

루프 및 정렬 배열의 그룹 값을 기반으로 여러 값과 배열 합계를 사용하여 배열별로 그룹화

분류에서Dev

Array.Copy를 사용하여 배열의 항목을 배열에서 위로 이동

분류에서Dev

재귀를 사용하여 배열에서 들여 쓰기 목록 만들기

Related 관련 기사

  1. 1

    jquery를 사용하여 배열의 객체 값을 기반으로 목록 항목의 너비 설정

  2. 2

    Node를 사용하여 객체의 키 값만으로 객체 배열의 인덱스 찾기

  3. 3

    NodeJS를 사용하여 json 배열에서 항목 찾기

  4. 4

    2 차원 배열을 만들지 않고 푸시를 사용하여 다른 배열의 값으로 배열 만들기 (JavaScript)

  5. 5

    배열의 키를 비교하고 비교 값으로 새 배열 만들기

  6. 6

    하나의 배열 열에서 배열 값과 일치하는 항목 찾기

  7. 7

    Mongoose를 사용하여 MongoDB의 배열 항목에 액세스

  8. 8

    Mongoose-기존 항목을 사용하여 날짜 필드를 날짜 배열로 변환

  9. 9

    현재 배열에있는 각 항목의 첫 번째 요소를 기반으로 새 배열 만들기

  10. 10

    Angular 7-ngFor를 사용하여 배열 A 링크의 마지막 항목 만들기

  11. 11

    배열 내 ID (PHP)를 기준으로 다중 배열의 첫 번째 항목 만 정렬

  12. 12

    getElementById를 사용하여 div의 innerHTML을 = 여러 배열 항목으로 설정

  13. 13

    mongoose를 사용하여 항목을 배열로 푸시 할 수 없습니다.

  14. 14

    키 값으로 배열 결과를 필터링하여 새 배열 만들기

  15. 15

    Javascript를 사용하여 ID로 필터링하는 두 개의 기존 배열에서 새 배열 만들기

  16. 16

    가중 확률과 값을 사용하여 배열에서 항목 찾기

  17. 17

    Javascript를 사용하여 다른 배열에서 각 요소의 후행 번호로 배열 만들기

  18. 18

    NSPredicate를 사용하여 배열 속성을 기반으로 CoreData 항목 목록 필터링

  19. 19

    두 배열의 경우 하나의 배열에만있는 항목 찾기 (대칭 차이)

  20. 20

    일반 JavaScript를 사용하여 배열의 중복 항목 가져 오기

  21. 21

    TypeScript를 사용하여 배열 항목의 인터페이스 고유 값

  22. 22

    ajax를 사용하여 쉼표로 구분 된 배열 항목으로 텍스트 영역 채우기

  23. 23

    Pandas를 사용하여 다른 열의 값을 기반으로 열 만들기

  24. 24

    PHP로 mongodb의 인덱스를 사용하여 배열 항목 반환

  25. 25

    배열의 값을 사용하여 객체 만들기

  26. 26

    VBA 배열의 값을 사용하여 Excel 차트 만들기

  27. 27

    루프 및 정렬 배열의 그룹 값을 기반으로 여러 값과 배열 합계를 사용하여 배열별로 그룹화

  28. 28

    Array.Copy를 사용하여 배열의 항목을 배열에서 위로 이동

  29. 29

    재귀를 사용하여 배열에서 들여 쓰기 목록 만들기

뜨겁다태그

보관