다음을 통해 공유


Cosmos DB for MongoDB에 데이터 삽입

중요합니다

기존 MongoDB 애플리케이션을 마이그레이션하거나 MQL(MongoDB 쿼리 언어) 기능을 사용하시겠습니까? Azure DocumentDB를 고려합니다.

여러 지역에서 99.999% 가용성 서비스 수준 계약, 즉각적인 자동 크기 조정 및 자동 장애 조치(failover)가 있는 대규모 시나리오에 대한 데이터베이스 솔루션을 찾고 있나요? NoSQL용 Azure Cosmos DB를 고려합니다.

가장 기본적인 작업 중 하나는 컬렉션에 데이터를 삽입하는 것입니다. 이 가이드에서는 Mongo Shell(Mongosh)을 사용하여 데이터를 삽입하는 데 필요한 모든 정보를 다룹니다.

단일 문서 삽입

MongoDB에 데이터를 삽입하는 가장 기본적인 방법은 단일 문서를 삽입하는 것입니다. 이렇게 하려면 db.collection.insertOne() 메서드를 사용할 수 있습니다. insertOne() 메서드는 단일 문서를 인수로 사용하여 지정된 컬렉션에 삽입합니다. 다음은 이 메서드를 사용하는 방법의 예입니다.

db.myCollection.insertOne({
  name: "John Smith",
  age: 30,
  address: "123 Main St"
});

이 예에서는 "name", "age" 및 "address" 필드가 있는 "myCollection" 컬렉션에 문서를 삽입합니다. 명령이 실행되면 출력에acknowledged: true 및 insertionId: ObjectId("5f5d5f5f5f5f5f5f5f5f5f5f")가 표시됩니다. 여기서 insertId는 삽입된 문서에 대해 MongoDB에서 생성한 고유 식별자입니다.

여러 문서 삽입

많은 경우 한 번에 여러 문서를 삽입해야 합니다. 이렇게 하려면 db.collection.insertMany() 메서드를 사용할 수 있습니다. insertMany() 메서드는 문서 배열을 인수로 사용하여 지정된 컬렉션에 삽입합니다. 예를 들면 다음과 같습니다.

db.myCollection.insertMany([
  {name: "Jane Doe", age: 25, address: "456 Park Ave"},
  {name: "Bob Smith", age: 35, address: "789 Elm St"},
  {name: "Sally Johnson", age: 40, address: "111 Oak St"}
]);

이 예에서는 "myCollection" 컬렉션에 세 개의 문서를 삽입합니다. 각 문서에는 "name", "age" 및 "address"와 같은 이전 예와 동일한 필드가 있습니다. insertMany() 메서드는 성공 시 acknowledged: true와 함께 삽입된 각 문서에 대해 MongoDB가 생성한 고유 식별자 배열인 insertedIds: [ObjectId(“5f5d5f5f5f5f5f5f5f5f5f5f”), ObjectId(“5f5d5f5f5f5f5f5f5f5f5f5f”), ObjectId(“5f5d5f5f5f5f5f5f5f5f5f5f”)]를 반환합니다.

옵션을 사용하여 삽입

insertOne() 및 insertMany() 모두 삽입 작업에 대한 옵션을 지정하는 데 사용할 수 있는 선택적 두 번째 인수를 허용합니다. 예를 들어, "ordered" 옵션을 false로 설정하려면 다음 코드를 사용할 수 있습니다.

db.myCollection.insertMany([
  {name: "Jane Doe", age: 25, address: "456 Park Ave"},
  {name: "Bob Smith", age: 35, address: "789 Elm St"},
  {name: "Sally Johnson", age: 40, address: "111 Oak St"}
], {ordered: false});

이렇게 하면 MongoDB에 순서 없는 방식으로 문서를 삽입하도록 지시합니다. 즉, 하나의 문서가 삽입되지 않으면 다음 문서에서 계속됩니다. 이는 Cosmos DB for MongoDB의 쓰기 성능에 권장됩니다.

다음 단계