찾다

 >  Q&A  >  본문

mongodb - 몽고 복잡한 쿼리 문제

원본 json

으아아아

쿼리하려는 결과:

으아아아

db.xxx.find() 작성 방법을 알려주실 수 있나요

我想大声告诉你我想大声告诉你2793일 전788

모든 응답(4)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-05-02 09:27:22

    먼저 댓글을 남기고 싶습니다.

    질문을 하고 재현 가능한 문제의 최소화된 예를 게시하세요. 이렇게 긴 문서를 게시하면 모두가 읽기에 지칠 것입니다.


    실제로 필요한 것은 전체 배열이 아닌 배열의 일부 특정 문서를 반환하는 것입니다.

    1 배열

    에서 하나의 요소만 반환해야 하는 경우 으아악

    첫 번째 줄은 쿼리 조건이고, 두 번째 줄은 필터 조건입니다. 필터 조건에서도 연산자를 사용할 수 있음을 알 수 있습니다. 그러나 이 연산자는 조건을 충족하는 첫 번째 요소만 반환하며 에는 MongoDB 버전 2.2 이상이 필요합니다.

    또는 $ 아래 첨자 선택기를 사용하세요:

    으아악

    위 예시의 쿼리 조건도 사용할 수 있습니다$elemMatch.

    배열에서 일치하는 여러 요소를 반환해야 하는 경우:

    2 $unwind

    $unwind을 사용하여 contents에서 독립적인 문서 스트림으로 작동합니다. 코드는 @bguo의 답변을 참조하세요.
    그러나 어레이가 큰 경우 성능 문제가 발생할 수 있습니다.

    3 $filter

    이것은 3.2 버전의 새로운 연산자로, 반환된 콘텐츠를 필터링하는 데 사용됩니다.

    으아악

    물론 $redact(버전 2.6)이나 mapReduce() 및 기타 여러 방법을 사용할 수도 있습니다.

    회신하다
    0
  • 为情所困

    为情所困2017-05-02 09:27:22

    쿼리 조건. 예를 들어 이름

    으아악

    회신하다
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:27:22

    구현 방법 중 하나: MongoDB의 Aggregate를 사용합니다.

    1. 먼저 배열이 포함된 내용에 $unwind를 적용합니다

    2. 그런 다음 $match를 사용하여 필터링 조건을 적용합니다

    3. 마지막으로 $project를 사용하여 필수 필드를 유지합니다

    아래 코드 참고

    으아악

    참고로.

    MongoDB를 사랑해주세요!

    ------------화려한 구분선------ --- ----------

    MongoDB 중국어 커뮤니티에는 다양한 오프라인 활동이 있습니다. 아래를 클릭하세요.

    2017 화산검 토론|MongoDB 중국 커뮤니티

    3월 항저우역이 곧 다가옵니다! ! ! 관심있는 친구들은 빨리 신청해주세요! ! !

    회신하다
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:27:22

    으아악

    회신하다
    0
  • 취소회신하다