[MongoDB 기본 CRUD] 4. insertOne()과 insertMany() 명령어 사용하여 데이터 생성(삽입)하기
반갑습니다!
이번 포스트에서는 insertOne()과 insertMany() 명령어를 사용하여
컬렉션에 데이터를 삽입해보겠습니다
여타 데이터베이스 시스템도 그러하듯이 MongoDB도 마찬가지로
기본적인 CRUD 명령어가 있는데요 ^^
C : Create
R : Read
U : Update
D : Delete
데이터 생성, 조회, 갱신(수정), 삭제와 같은 기본적인 처리를 의미합니다
이 중 데이터 생성(삽입)에 해당하는 insertOne()과 insertMany() 명령어에 대해
알아보도록 하겠습니다 ^^
MongoDB는 기본적인 데이터 단위가 도큐먼트(Document)입니다
해당 도큐먼트 내에 여러 필드와 그 필드에 대응되는 값을 지정하여
field:value의 쌍을 만들어 저장을 하죠 ^^
이 때 도큐먼트를 하나 삽입할 수도 있고, 여러개를 동시에 넣을 수도 있는데요
1. insertOne()
상기 캡쳐 이미지와 같이 db.[컬렉션이름].insertOne()의 구조로 사용하시면 되겠습니다
insertOne() 함수의 파라미터로 딕셔너리 형태의 데이터를 넣어주시면 되는데요
저는 예시에서, { name : "Fletcher", age : 999, job : "developer" }라는 데이터를 넣어주었습니다 ^^
해당 명령어 실행 결과 콘솔창에 acknowledged의 값이 true로,
그리고 새로운 ObjectId가 출력되는 것을 볼 수 있겠습니다 ^^
2. insertMany()
이번에는 도큐먼트를 하나가 아니라 여러개를 삽입해보겠습니다
insertMany() 명령어를 사용해주시고
파라미터로 여러 딕셔너리들을 넣어주시면 되겠는데요 ^^
저는 총 10개의 데이터를 넣어주었습니다
콘솔의 출력 결과를 보면 마찬가지로 acknowledged는 true로,
insertedIds에 10 fields가 출력되는 것을 통해
해당 작업이 정상적으로 수행되었음을 알 수 있겠습니다 ^^
만약에 insertOne() 명령어의 인자로 여러 데이터를 넣어주면 어떻게 될까요?
당연히 오류가 발생하며 해당 작업이 정상적으로 처리되지 않습니다 ^^
하지만 반대로 데이터를 하나만 넣어줄 경우에는 insertOne()을 사용하셔도 되고
insertMany()를 사용하셔도 무방합니다 ^^
삽입할 데이터의 갯수에 따라 insertOne()을 사용할 것인지,
insertMany()를 사용할 것인지 잘 선택해주시면 되겠습니다 ^^
오늘 내용에 대해 복습
연습 문제를 하나 첨부하며 이번 포스트 마치도록 하겠습니다
하단의 데이터를 한 번에 컬렉션에 넣어보는 문제입니다 ^^
{ name:"David", age:45, address:"서울" }
{ name:"DaveLee", age:25, address:"경기도" }
{ name:"Andy", age:50, hobby:"골프", address:"경기도" }
{ name:"Kate", age:35, address:"수원시" }
{ name:"Brown", age:8 }