윤개발

Mongodb 도큐먼트 생성(Insert document) 본문

백엔드/mongoDB

Mongodb 도큐먼트 생성(Insert document)

DEV_SJ 2021. 10. 6. 23:02

이번에는 몽고DB의 기본적인 데이터 입력을 알아보자.

도큐먼트 삽입

삽입은 몽고DB에 데이터를 추가하는 기본 방법이다. 도큐먼트를 삽입하려면 컬렉션의 insertOne 메서드를 사용한다.

> db.movies.insertOne({"title" : "Movie 1"})

그러면 도큐먼트에 "_id" 키가 추가되고 몽고DB에 저장된다.

{
	"acknowledged" : true,
	"insertedId" : ObjectId("615da8db82227ce1f4f7d899")
}

 

또한 여러 도큐먼트를 삽입하려면 insertMany를 사용하면 된다. 각 도큐먼트에 대해 데이터베이스에 왕복하지 않고 삽입하므로 훨씬 더 효율적이다.

> db.movies.insertMany([{"title":"Movie 2"},{"title":"Movie 3"},{"title":"Movie 4"}])
{
	"acknowledged" : true,
	"insertedIds" : [
		ObjectId("615da9d182227ce1f4f7d89a"),
		ObjectId("615da9d182227ce1f4f7d89b"),
		ObjectId("615da9d182227ce1f4f7d89c")
	]
}

수천 개의 도큐먼트를 한 번에 전송하면 도큐먼트 삽입이 매우 빨라진다. 다만 다중 삽입 시에 중간에 오류가 발생한다면 정렬 연산(Ordered)인지 비정렬 연산(Unordered)인지에  따라 발생하는 상황이 달라진다.

따라서 insertMany의 두 번째 매개변수로 옵션 도큐먼트를 지정할 수 있다.(기본 값은 정렬 삽입이다.)

 

해당 옵션이 지정되면 배열에서 해당 지점을 벗어난 이후의 도큐먼트는 삽입되지 않는다. 정렬되지 않은 삽입의 경우는 일부 삽입이 오류를 발생시키는지 여부에 관계없이 모든 도큐먼트 삽입을 시도한다.

 

삽입 유효성 검사

몽고DB는 삽입된 데이터에 최소한의 검사를 수행한다. 도큐먼트의 기본 구조를 검사해 "_id" 필드가 존재하지 않으면 새로 추가하고, 모든 도큐먼트는 16메가 바이트보다 작아야하므로 크기를 검사한다.


https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=268367408 

 

[전자책] MongoDB 완벽 가이드

몽고DB 입문자를 위한 기초부터 실제 배포에 적용할 수 있는 실용적이고 깊이 있는 내용까지 담았다. 개정 3판에서는 성능이 강화된 몽고DB 최신 버전을 반영해 복제와 샤딩을 더 깊이 다루며 개

www.aladin.co.kr

 

'백엔드 > mongoDB' 카테고리의 다른 글

Mongodb 도큐먼트 삭제(delete document)  (0) 2021.10.07
MongoDB 기본(document, collection, _id)  (0) 2021.10.06
MongoDB 소개 및 특정  (0) 2021.10.06
Comments