MongoDB Create

YoungJoon Suh·2022년 4월 13일
0

모든 도큐먼트는 고유한 _id값을 가지고 있어야 합니다. 이 _id 필드의 값은 각 도큐먼트를 구별하는 역할을 합니다. 도큐먼트를 추가할 때 _id 필드와 값을 특정하지 않았다면, 자동적으로 _id 필드가 생성되고 값에 ObjectId 타입이 할당됩니다.

  • Mongo shell을 사용하여 컬렉션에 새로운 도큐먼트를 추가하는 과정
  1. 터미널을 사용해 아틀라스 클러스터에 연결함.
  2. MongoDB에서 제공하는 샘플 데이터를 받아옴.
  3. 그 데이터베이스 중 사용하려는 데이터베이스로 이동함.
    ObjectId 타입(12byte, 24char)의 값이 _id로 작성되어 있다.

도큐먼트를 MongoDB 샘플 데이터베이스 중 하나인 zips라고 하는 컬렉션에 삽입해 보자.
삽입을 하기 위해 insert라는 명령어를 사용한다.
insert()의 괄호 안에 삽입하고자 하는 도큐먼트를 작성한다.
이 명령어에 따른 결과물이 하단에 WriteResult로 출력됩니다.
nInserted라는 항목이 존재. 삽입된 도큐먼트의 수를 의미함. 이 부분이 0이라는 것은 도큐먼트 추가에 실패했다는 뜻임. writeError라는 부분을 통해, duplicate key 에러라고 하는 이유로 추가가 되지 않았음을 알 수 있다. duplicate key 에러는 이미 같은 _id 값을 가지는 도큐먼트가 컬렉션 내부에 존재하기 때문에 중복된 데이터는 삽입할 수 없다는 것을 의미합니다.

같은 데이터이지만 _id 값을 지운 도큐먼트를 zips 컬렉션에 추가해 보도록 하자. 주황색 블록으로 작성된 부분에서는 _id 값을 볼 수 있다. 동일한 도큐먼트의 내용을 가지고 있지만, 아래 파란색 블록의 부분에서는 _id값을 삭제한 후 삽입 작업을 실행하였다. 그 결과, WriteResult{("nInserted" : 1}) 로 zips 컬렉션에 우리가 작성한 1개의 도큐먼트가 삽입되었다.

profile
저는 서영준 입니다.

0개의 댓글