MongoDB quiz

YoungJoon Suh·2022년 4월 13일
0

만약 _id 값 없이 도큐먼트가 삽입되면, _id 필드와 값은 자동적으로 도큐먼트 안에 생성된다.
MongoDB에서는 _id 값이 다르면, 같은 컬렉션 내부에서 동일한 필드와 값을 가진 도큐먼트를 저장할 수 있다.
만약 동일한 기록이 저장되면 duplicate key 에러가 발생하기 때문에, 동일한 기록은 저장되지 않음을 알 수 있다.
배열 내부의 요소인 도큐먼트는 _id 값이 없기 때문에 자동적으로 고유한 _id의 값이 생성되어 배열의 인덱스 순서대로 추가됩니다.
insert 명령어의 첫 번째 인자로는 추가하려는 도큐먼트가 담긴 배열, 두 번째 인자로는 ordered 필드와 값인 true가 들어가 있는데, 이 때 ordered 필드의 값이 true이기 때문에, 배열 안의 인덱스 순서대로 insert 작업이 수행됩니다. 그러나 _id 필드의 값이 같은 것이 있다면 duplicate key 에러가 발생하고 해당 필드와 값 쌍 이후의 요소들은 추가되지 않습니다.
두 번째 인자의 값이 false 이기 때문에 배열 내부의 요소의 순서에 상관없이 고유한 _id의 값을 가진 도큐먼트는 모두 새로운 도큐먼트로 추가됩니다.
ordered 필드가 정해지지 않으면 true가 기본값으로 설정되고, 배열의 요소 순서대로 삽입되기 때문에 인덱스 0번부터 2번까지 도큐먼트 3개가 새로운 도큐먼트로 추가됩니다.

profile
저는 서영준 입니다.

0개의 댓글