데이터 형식은 다음과 같습니다.
으아악지금 생각하는 것은
1, people_id가 1이고 권한이 5인 임베디드 문서를 쿼리합니다. mongodb 쿼리 명령어 작성 방법
2,포함된 문서의 이름 필드 값을 people_id 2 및 권한 ID 2~6으로 업데이트합니다. 업데이트 명령 작성 방법
내가 이용하는 문의
db.find({"people_id" : 1,"albums":{"$elemMatch" : {"privilege" : 5}}})
일치를 시도했지만 일치가 실패했습니다.
ID가 1인 것을 원하지 않고 ID가 2와 3인 것을 고유하게 일치시키고 싶습니다
수정, 정말 어떻게 해야할지 모르겠어요
해결 방법을 알려주세요. 정말 감사합니다.
쿼리 문은 다음과 같이 단순화될 수 있습니다.
으아악쿼리 결과는 일치 조건을 충족하는 문서를 반환합니다. 반환된 필드를 매핑할 수는 있지만 실제로 언급한 문서만 반환할 수는 없습니다
id为2和3
. 그러나 이제 조건을 충족하는 json 문서를 얻었으므로 원하는 포함된 하위 문서를 얻는 프로그램을 작성할 수 있습니다.업데이트 내용은 다음과 같습니다.
으아악하지만 배열에서 일치하는 첫 번째 하위 문서만 업데이트하지만
albums.id
독특해 보이고 사용자의 요구 사항을 충족해야 합니다.#1에 대한 해결책이 있습니다. $elemMatch는 반환된 배열의 요소를 제한하기 위해 find 메소드의 두 번째 매개변수로 사용될 수도 있습니다. 다음과 같습니다:
으아아아하위 문서 ID가 자동으로 늘어나나요?