mongodb - $addToSet은 어떻게 필드를 존재 확인 필드로 지정합니까?
ringa_lee
ringa_lee 2017-05-02 09:25:30
0
1
925

문서가 있고 그 속성 중 하나가 문서 배열입니다. 배열에 문서를 추가하고 싶습니다. 존재 여부를 판단하는 방법은 모든 속성입니다. 동일합니까?
{_id:0,
user:[{id:1,name:a}]
}
속성을 지정할 수 있나요? 예를 들어 위 레코드의 경우 다음에 데이터를 추가하고 싶습니다. user , ID가 1이면 이미 존재한다는 의미이므로 추가되지 않습니다. 그렇지 않으면 사용자 배열에 추가됩니다.
$addToSet은 이 요구 사항을 충족할 수 있습니다
감사합니다

ringa_lee
ringa_lee

ringa_lee

모든 응답(1)
世界只因有你

$addToSet으로는 필요한 하위 문서의 고유성을 얻을 수 없습니다. 참고할 수 있는 두 가지 아이디어가 있습니다:

1. 비즈니스에서 복합 고유 인덱스를 만들 수 있는지 확인해보세요

예: 텍스트 {_id, name, number,user[{id,name}]}의 name 및 user.id에 대한 고유 복합 인덱스를 생성합니다.

2. 코드 제어

으아악

업데이트하기 전에 $ne 또는 $nin을 사용하여 기존 ID에 user.id가 있는지 확인하세요. 존재하지 않으면 업데이트할 수 있습니다.

참고로.

MongoDB를 사랑해주세요! 재미있게 보내세요!

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿