Computer >> 컴퓨터 >  >> 프로그래밍 >> MongoDB

MongoDB에서 insert()로 여러 문서 한 번에 삽입하는 방법

insert() 메서드로 다중 문서 삽입하기

여러 개의 문서를 한 번에 삽입하려면 MongoDB의 insert() 메서드를 사용하면 됩니다. 삽입할 문서들을 배열 형태로 전달하면 MongoDB가 이를 일괄 처리(bulk write)하여 컬렉션에 저장해 줍니다.

다음 예제는 demo689라는 컬렉션을 생성하면서 세 명의 고객 정보를 담은 문서를 한 번에 삽입하는 과정입니다.

> db.demo689.insert([
...     {ClientName:"Chris","ClientAge":34,"ClientCountryName":"US"},
...     {ClientName:"David","ClientAge":28,"ClientCountryName":"UK"},
...     {ClientName:"Bob","ClientAge":39,"ClientCountryName":"AUS"},
... ]);
BulkWriteResult({
    "writeErrors" : [ ],
    "writeConcernErrors" : [ ],
    "nInserted" : 3,
    "nUpserted" : 0,
    "nMatched" : 0,
    "nModified" : 0,
    "nRemoved" : 0,
    "upserted" : [ ]
})

실행 결과로 반환된 BulkWriteResult 객체에서 "nInserted" : 3 항목을 통해 세 개의 문서가 오류 없이 정상적으로 삽입되었음을 확인할 수 있습니다.

find()로 삽입된 문서 조회하기

컬렉션에 저장된 모든 문서를 확인하려면 find() 메서드를 사용합니다.

> db.demo689.find();

위 명령을 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

{ "_id" : ObjectId("5ea580dfa7e81adc6a0b3967"), "ClientName" : "Chris", "ClientAge" : 34, "ClientCountryName" : "US" }
{ "_id" : ObjectId("5ea580dfa7e81adc6a0b3968"), "ClientName" : "David", "ClientAge" : 28, "ClientCountryName" : "UK" }
{ "_id" : ObjectId("5ea580dfa7e81adc6a0b3969"), "ClientName" : "Bob", "ClientAge" : 39, "ClientCountryName" : "AUS" }

참고: 최신 버전에서는 insertMany() 사용 권장

MongoDB 3.2 이상 버전에서는 다중 삽입 시 insertMany() 메서드를 사용하는 것이 공식적으로 권장됩니다. insertMany()는 대량의 문서를 삽입할 때 더 나은 성능을 제공하고, 삽입 순서 지정(ordered/unordered) 옵션과 명확한 오류 보고 기능을 갖추고 있어 실무 환경에서 더 안전하게 활용할 수 있습니다.