MongoDB - 문서 삽입

안녕하세요, 미래의 데이터베이스 마법사 여러분! 오늘 우리는 MongoDB의 마법의 세계로 접어들어 collections에 문서를 삽입하는 방법을 배우겠습니다. 프로그래밍에 새로운 사람이라면 걱정하지 마세요 - 저는 지혜로운 고대의 마법사처럼 젊은 제자에게 가르쳐주는 마음으로 단계별로 안내해드리겠습니다. 그러니 마법仗(또는 키보드)을 손에 들고 시작해보세요!

MongoDB - Insert Document

MongoDB에서 문서 이해

문서를 삽입하기 전에 MongoDB에서 문서가 무엇인지 빠르게复習해보겠습니다. 문서는 정보를 담고 있는 특별한 고서纸라고 생각해보세요. 비마법 세계에서는 이 정보를 "데이터"라고 부릅니다. 각 문서는 마법의 책에 있는 고유한 항목처럼 특정 아이템이나 실체에 대한 다양한 세부 정보를 포함하고 있습니다.

예를 들어, 마법 동물에 대한 문서는 다음과 같을 수 있습니다:

{
"name": "Dragon",
"type": "화염을 뿜는",
"dangerLevel": 10,
"abilities": ["비행", "화염을 뿜는", "보물을 쌓는"]
}

이제 문서가 무엇인지 이해했으므로, MongoDB collections에 이러한 마법적인 항목을 추가하는 방법을 배워보겠습니다!

insert() 메서드

insert() 메서드는 MongoDB의 "Wingardium Leviosa"와 같습니다 - collections에 문서를 추가하는 기본 마법입니다. 하지만 "Wingardium Leviosa"가 더 구체적인 띄우는 마법으로 대체된 것처럼, insert() 메서드도 더 정밀한 메서드로 대체되었습니다. 하지만 걱정하지 마세요, 젊은 마법사 여러분, 현대적인 방법을 가르쳐드리겠습니다!

insertOne() 메서드

insertOne() 메서드는 단일 문서를 collections에 추가하고 싶을 때 완벽합니다. 이는 마법의 보물을 하나하나 신중하게 보물 창고에 보관하는 것과 같습니다.

문법

db.collection.insertOne(document)

예제

"Hogwarts" collections에 새로운 학생을 추가해보겠습니다:

db.hogwarts.insertOne({
name: "Harry Potter",
house: "Gryffindor",
year: 1,
subjects: [" potion 과학", "어둠의 힘에 대한 방어", "마법의 주문"]
})

이 마법(또는 코드)을 실행하면 MongoDB는 이 문서를 "Hogwarts" collections에 추가합니다. 이렇게 간단합니다!

결과 이해

insertOne() 마법을 사용할 때 MongoDB는 조용히 문서를 추가하는 것이 아니라, 마법의 결과를 보여줍니다. 다음과 같은 것을 볼 수 있습니다:

{
"acknowledged": true,
"insertedId": ObjectId("60d5ec9d7c213e8456b1b2d4")
}
  • acknowledged: 이는 삽입이 성공했는지 알려줍니다. true는 "네, 당신의 마법이 작동했습니다!"를 의미합니다.
  • insertedId: 이는 새로 추가된 문서의 고유 식별자입니다. 문서의 마법적 서명으로 생각해보세요.

insertMany() 메서드

한 번에 여러 문서를 추가하고 싶다면 insertMany() 메서드가 유용합니다. 이는 여러 개의 물건을 동시에 띄우는 마법과 같습니다!

문법

db.collection.insertMany([document1, document2, ...])

예제

"Hogwarts" collections에 여러 학생을 추가해보겠습니다:

db.hogwarts.insertMany([
{
name: "Hermione Granger",
house: "Gryffindor",
year: 1,
subjects: [" 수학", "muggle 연구", "고대 문자"]
},
{
name: "Ron Weasley",
house: "Gryffindor",
year: 1,
subjects: ["占星術", "마법 동물 돌봄"]
},
{
name: "Draco Malfoy",
house: "Slytherin",
year: 1,
subjects: [" potion 과학", "어둠의 마법"]
}
])

이 마법은 한 번에 세 명의 학생을 collections에 추가합니다. 효율적이죠?

결과 이해

이 강력한 마법을 사용한 후, MongoDB는 다시 한 번 결과를 제공합니다:

{
"acknowledged": true,
"insertedIds": [
ObjectId("60d5ec9d7c213e8456b1b2d5"),
ObjectId("60d5ec9d7c213e8456b1b2d6"),
ObjectId("60d5ec9d7c213e8456b1b2d7")
]
}
  • acknowledged: 다시 한 번 마법이 작동했는지 확인합니다.
  • insertedIds: 각 추가된 문서의 고유 식별자 배열입니다.

실용적인 팁과 트릭

  1. SPELL 체크(데이터 검증): 문서를 추가하기 전에 항상 두 번씩 확인하세요. 잘못된 필드 이름은 예상치 못한 결과를 초래할 수 있습니다, 마법을 잘못 읊은 것과 같습니다!

  2. 重複 키: 기존 문서와 같은 _id를 가진 문서를 추가하려고 하면 MongoDB는 오류를 발생시킵니다. 두 명의 학생이 같은 마법 서명을 가지는 것처럼, 이는 작동하지 않습니다!

  3. Batch 삽입: insertMany()를 사용할 때 하나의 문서가 삽입에 실패하면(예를 들어, 중복 키로 인해) 작업이 중지됩니다. 하지만 오류 이전에 추가된 문서는 collections에 남아 있습니다!

  4. 성능 고려: 문서를 하나씩 추가하는 것은 배치로 추가하는 것보다 느릴 수 있습니다. 많은 문서를 추가해야 한다면 insertMany()를 사용하는 것이 좋습니다.

삽입 메서드 요약

이제 배운 삽입 메서드의 빠른 참조 표를 제공합니다:

메서드 설명 사용 사례
insertOne() 단일 문서 추가 단일 문서를 추가할 때
insertMany() 여러 문서 추가 여러 문서를 추가할 때

젊은 마법사 여러분, 연습이 완벽을 이루는 열쇠입니다. MongoDB의 이 메서드를 자유롭게 실험해보세요. 데이터베이스의 힘을 가지고 있으면서도, 이를 지혜롭게 사용하세요. 데이터베이스가 항상 정리되고 효율적이기를 바랍니다!

Credits: Image by storyset