Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
쿼리 및 μ“°κΈ°

insert

insert

insert λͺ…령은 ν•˜λ‚˜ μ΄μƒμ˜ λ¬Έμ„œλ₯Ό μ‚½μž…ν•˜κ³  λͺ¨λ“  μ‚½μž… μƒνƒœκ°€ ν¬ν•¨λœ λ¬Έμ„œλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€. MongoDB λ“œλΌμ΄λ²„μ—μ„œ μ œκ³΅ν•˜λŠ” μ‚½μž… λ©”μ„œλ“œλŠ” λ‚΄λΆ€μ μœΌλ‘œ 이 λͺ…령을 μ‚¬μš©ν•©λ‹ˆλ‹€.

팁

mongoshμ—μ„œ 이 λͺ…령은 db.collection.insertOne() 및 db.collection.insertMany() λ„μš°λ―Έ λ©”μ„œλ“œλ₯Ό 톡해 μ‹€ν–‰ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

헬퍼 λ©”μ„œλ“œλŠ” mongosh μ‚¬μš©μžμ—κ²Œ νŽΈλ¦¬ν•˜μ§€λ§Œ λ°μ΄ν„°λ² μ΄μŠ€ λͺ…λ Ήκ³Ό λ™μΌν•œ μˆ˜μ€€μ˜ 정보λ₯Ό λ°˜ν™˜ν•˜μ§€ λͺ»ν•  수 μžˆμŠ΅λ‹ˆλ‹€. νŽΈμ˜κ°€ ν•„μš”ν•˜μ§€ μ•Šκ±°λ‚˜ μΆ”κ°€ 리턴 ν•„λ“œκ°€ ν•„μš”ν•œ 경우 λ°μ΄ν„°λ² μ΄μŠ€ λͺ…령을 μ‚¬μš©ν•©λ‹ˆλ‹€.

λ°˜ν™˜ν•©λ‹ˆλ‹€:μž‘μ—… μƒνƒœκ°€ ν¬ν•¨λœ λ¬Έμ„œμž…λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ 좜λ ₯을 μ°Έμ‘°ν•˜μ„Έμš”.

이 λͺ…령은 λ‹€μŒ ν™˜κ²½μ—μ„œ ν˜ΈμŠ€νŒ…λ˜λŠ” λ°°ν¬μ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • MongoDB Atlas: ν΄λΌμš°λ“œμ—μ„œμ˜ MongoDB 배포λ₯Ό μœ„ν•œ μ™„μ „ κ΄€λ¦¬ν˜• μ„œλΉ„μŠ€

μ°Έκ³ 

이 λͺ…령은 λͺ¨λ“  MongoDB Atlas ν΄λŸ¬μŠ€ν„°μ—μ„œ μ§€μ›λ©λ‹ˆλ‹€. λͺ¨λ“  λͺ…령에 λŒ€ν•œ Atlas 지원에 κ΄€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄λ €λ©΄ μ§€μ›λ˜μ§€ μ•ŠλŠ” λͺ…령을 μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

  • MongoDB Enterprise: MongoDB의 ꡬ독 기반 자체 관리 버전

  • MongoDB Community: MongoDB의 μ†ŒμŠ€ μ‚¬μš© κ°€λŠ₯ 무료 자체 관리 버전

λͺ…령은 λ‹€μŒκ³Ό 같은 ꡬ문을 κ°€μ§‘λ‹ˆλ‹€:

{
insert: <collection>,
documents: [ <document>, <document>, <document>, ... ],
ordered: <boolean>,
maxTimeMS: <integer>,
writeConcern: { <write concern> },
bypassDocumentValidation: <boolean>,
comment: <any>
}

insert λͺ…령은 λ‹€μŒ ν•„λ“œλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

ν•„λ“œ
μœ ν˜•
μ„€λͺ…

insert

λ¬Έμžμ—΄

λŒ€μƒ μ»¬λ ‰μ…˜μ˜ μ΄λ¦„μž…λ‹ˆλ‹€.

documents

λ°°μ—΄

이름이 μ§€μ •λœ μ»¬λ ‰μ…˜μ— μ‚½μž…ν•  ν•˜λ‚˜ μ΄μƒμ˜ λ¬Έμ„œ λ°°μ—΄μž…λ‹ˆλ‹€.

ordered

λΆ€μšΈ

선택 μ‚¬ν•­μž…λ‹ˆλ‹€. true인 경우 λ¬Έμ„œ μ‚½μž…μ΄ μ‹€νŒ¨ν•˜λ©΄ inserts 배열에 λ‚˜μ—΄λœ λ‚˜λ¨Έμ§€ λ¬Έμ„œλ₯Ό μ‚½μž…ν•˜μ§€ μ•Šκ³  λ°˜ν™˜ν•©λ‹ˆλ‹€. false인 경우 λ¬Έμ„œ μ‚½μž…μ— μ‹€νŒ¨ν•˜λ©΄ λ‚˜λ¨Έμ§€ λ¬Έμ„œλ₯Ό 계속 μ‚½μž…ν•©λ‹ˆλ‹€. 기본값은 trueμž…λ‹ˆλ‹€.

maxTimeMS

non-negative integer

선택 사항.

μ‹œκ°„ μ œν•œμ„ λ°€λ¦¬μ΄ˆ λ‹¨μœ„λ‘œ μ§€μ •ν•©λ‹ˆλ‹€. maxTimeMS에 값을 μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ μž‘μ—…μ΄ μ‹œκ°„ μ΄ˆκ³Όλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 0 값은 λ°”μΈλ”©λ˜μ§€ μ•ŠλŠ” κΈ°λ³Έ λ™μž‘μ„ λͺ…μ‹œμ μœΌλ‘œ μ§€μ •ν•©λ‹ˆλ‹€.

MongoDBλŠ” db.killOp()와 λ™μΌν•œ λ©”μ»€λ‹ˆμ¦˜μ„ μ‚¬μš©ν•˜μ—¬ ν• λ‹Ήλœ μ‹œκ°„ μ œν•œμ„ μ΄ˆκ³Όν•˜λŠ” μž‘μ—…μ„ μ’…λ£Œν•©λ‹ˆλ‹€. MongoDBλŠ” μ§€μ •λœ 쀑단 지점 쀑 ν•˜λ‚˜μ—μ„œλ§Œ μž‘μ—…μ„ μ’…λ£Œν•©λ‹ˆλ‹€.

writeConcern

λ¬Έμ„œ

선택 사항. λͺ…λ Ήμ˜ μ“°κΈ° κ³ λ € insert (write concern) ν‘œν˜„ν•˜λŠ” λ¬Έμ„œ μž…λ‹ˆλ‹€. κΈ°λ³Έκ°’ μ“°κΈ° κ³ λ € (write concern) μ‚¬μš©ν•˜λ €λ©΄ μƒλž΅ν•©λ‹ˆλ‹€.

νŠΈλžœμž­μ…˜μ—μ„œ μ‹€ν–‰λ˜λŠ” 경우 μž‘μ—…μ— λŒ€ν•œ μ“°κΈ° κ³ λ €λ₯Ό λͺ…μ‹œμ μœΌλ‘œ μ„€μ •ν•˜μ§€ λ§ˆμ„Έμš”. νŠΈλžœμž­μ…˜μ— μ“°κΈ° κ³ λ €λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ νŠΈλžœμž­μ…˜ 및 μ“°κΈ° κ³ λ €λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

bypassDocumentValidation

λΆ€μšΈ

선택 사항. insertκ°€ μž‘μ—… 쀑에 λ¬Έμ„œ μœ νš¨μ„± 검사λ₯Ό μš°νšŒν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 μœ νš¨μ„± 검사 μš”κ΅¬ 사항을 μΆ©μ‘±ν•˜μ§€ μ•ŠλŠ” λ¬Έμ„œλ₯Ό μ‚½μž…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

comment

any

선택 사항. 이 λͺ…령에 첨뢀할 μ‚¬μš©μž 제곡 μ½”λ©˜νŠΈμž…λ‹ˆλ‹€. μ„€μ •λ˜λ©΄ 이 μ„€λͺ…은 λ‹€μŒ μœ„μΉ˜μ—μ„œ 이 λͺ…λ Ήμ˜ λ ˆμ½”λ“œμ™€ ν•¨κ»˜ ν‘œμ‹œλ©λ‹ˆλ‹€.

λŒ“κΈ€μ€ μœ νš¨ν•œ λͺ¨λ“  BSON types (λ¬Έμžμ—΄, μ •μˆ˜, 객체, λ°°μ—΄ λ“±)이 될 수 μžˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  documents λ°°μ—΄ μš”μ†Œμ˜ 총 ν¬κΈ°λŠ” μ΅œλŒ€ BSON λ¬Έμ„œ 크기 μ΄ν•˜μ—¬μ•Ό ν•©λ‹ˆλ‹€.

documents λ°°μ—΄μ˜ 총 λ¬Έμ„œ μˆ˜λŠ” μ΅œλŒ€ λŒ€λŸ‰ 크기 μ΄ν•˜μ—¬μ•Ό ν•©λ‹ˆλ‹€.

insert λͺ…령은 μœ νš¨μ„± 검사 κ·œμΉ™μ΄ μžˆλŠ” μ»¬λ ‰μ…˜μ— λ¬Έμ„œλ₯Ό μ‚½μž…ν•˜κ±°λ‚˜ μ—…λ°μ΄νŠΈν•  λ•Œ λ¬Έμ„œ μœ νš¨μ„± 검사λ₯Ό λ¬΄μ‹œν•  수 μžˆλŠ” bypassDocumentValidation μ˜΅μ…˜μ— λŒ€ν•œ 지원을 μΆ”κ°€ν•©λ‹ˆλ‹€.

insertλŠ” λΆ„μ‚° νŠΈλžœμž­μ…˜ λ‚΄μ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ€‘μš”

λŒ€λΆ€λΆ„μ˜ 경우 λΆ„μ‚° νŠΈλžœμž­μ…˜μ€ 단일 λ¬Έμ„œ 쓰기에 λΉ„ν•΄ 더 큰 μ„±λŠ₯ λΉ„μš©μ΄ λ°œμƒν•˜λ―€λ‘œ λΆ„μ‚° νŠΈλžœμž­μ…˜μ˜ κ°€μš©μ„±μ΄ 효과적인 μŠ€ν‚€λ§ˆ 섀계λ₯Ό λŒ€μ²΄ν•  μˆ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€. λŒ€λΆ€λΆ„μ˜ μ‹œλ‚˜λ¦¬μ˜€μ—μ„œ λΉ„μ •κ·œν™”λœ 데이터 λͺ¨λΈ (λ‚΄μž₯된 λ¬Έμ„œ 및 λ°°μ—΄) 은 κ³„μ†ν•΄μ„œ 데이터 및 μ‚¬μš© 사둀에 졜적일 κ²ƒμž…λ‹ˆλ‹€. 즉, λŒ€λΆ€λΆ„μ˜ μ‹œλ‚˜λ¦¬μ˜€μ—μ„œ 데이터λ₯Ό μ μ ˆν•˜κ²Œ λͺ¨λΈλ§ν•˜λ©΄ λΆ„μ‚° νŠΈλžœμž­μ…˜μ˜ ν•„μš”μ„±μ΄ μ΅œμ†Œν™”λ©λ‹ˆλ‹€.

μΆ”κ°€ νŠΈλžœμž­μ…˜ μ‚¬μš© κ³ λ € 사항(예: λŸ°νƒ€μž„ μ œν•œ 및 oplog 크기 μ œν•œ)은 ν”„λ‘œλ•μ…˜ 고렀사항을 μ°Έμ‘°ν•˜μ„Έμš”.

νŠΈλžœμž­μ…˜μ΄ ꡐ차 μƒ€λ“œ μ“°κΈ° νŠΈλžœμž­μ…˜(write transaction)인 이 μ•„λ‹Œ 경우 λΆ„μ‚° νŠΈλžœμž­μ…˜ λ‚΄μ—μ„œ μ»¬λ ‰μ…˜κ³Ό 인덱슀λ₯Ό 생성할 수 μžˆμŠ΅λ‹ˆλ‹€.

νŠΈλžœμž­μ…˜μ—μ„œ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μ»¬λ ‰μ…˜μ— λŒ€ν•œ μ‚½μž…μ„ μ§€μ •ν•˜λ©΄ MongoDBλŠ” ν•΄λ‹Ή μ»¬λ ‰μ…˜μ„ μ•”μ‹œμ μœΌλ‘œ μƒμ„±ν•©λ‹ˆλ‹€.

νŠΈλžœμž­μ…˜μ—μ„œ μ‹€ν–‰λ˜λŠ” 경우 μž‘μ—…μ— λŒ€ν•œ μ“°κΈ° κ³ λ €λ₯Ό λͺ…μ‹œμ μœΌλ‘œ μ„€μ •ν•˜μ§€ λ§ˆμ„Έμš”. νŠΈλžœμž­μ…˜μ— μ“°κΈ° κ³ λ €λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ νŠΈλžœμž­μ…˜ 및 μ“°κΈ° κ³ λ €λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

μ‚½μž… 쀑에 μ„œλ²„ 였λ₯˜κ°€ λ°œμƒν•˜λ”λΌλ„ 일뢀 λ¬Έμ„œκ°€ μ‚½μž…λ˜μ—ˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

μ‚½μž…μ— μ„±κ³΅ν•˜λ©΄ μ‹œμŠ€ν…œμ—μ„œ μ»¬λ ‰μ…˜μ— μ‚½μž…λœ λ¬Έμ„œ 수 insert.n을 λ°˜ν™˜ν•©λ‹ˆλ‹€. 볡제본 μ„ΈνŠΈ μƒνƒœ λ³€κ²½μœΌλ‘œ 인해 μ‚½μž… μž‘μ—…μ΄ μ€‘λ‹¨λ˜λ©΄ μ‹œμŠ€ν…œμ—μ„œ λ¬Έμ„œ μ‚½μž…μ„ 계속할 수 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ insert.n은 μ‹€μ œ μ‚½μž…λœ λ¬Έμ„œλ³΄λ‹€ 적은 수의 λ¬Έμ„œλ₯Ό 보고할 수 μžˆμŠ΅λ‹ˆλ‹€.

users μ»¬λ ‰μ…˜μ— λ¬Έμ„œλ₯Ό μ‚½μž…ν•©λ‹ˆλ‹€.

db.runCommand(
{
insert: "users",
documents: [ { _id: 1, user: "abc123", status: "A" } ]
}
)

λ°˜ν™˜λœ λ¬Έμ„œλŠ” λͺ…령이 λ¬Έμ„œλ₯Ό μ„±κ³΅μ μœΌλ‘œ μ‚½μž…ν–ˆμŒμ„ λ³΄μ—¬μ€λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ 좜λ ₯을 μ°Έμ‘°ν•˜μ„Έμš”.

{ "ok" : 1, "n" : 1 }

users μ»¬λ ‰μ…˜μ— λ¬Έμ„œ 3개λ₯Ό μ‚½μž…ν•©λ‹ˆλ‹€.

db.runCommand(
{
insert: "users",
documents: [
{ _id: 2, user: "ijk123", status: "A" },
{ _id: 3, user: "xyz123", status: "P" },
{ _id: 4, user: "mop123", status: "P" }
],
ordered: false,
writeConcern: { w: "majority", wtimeout: 5000 }
}
)

λ°˜ν™˜λœ λ¬Έμ„œλŠ” λͺ…령이 λ¬Έμ„œ μ„Έ 개λ₯Ό μ„±κ³΅μ μœΌλ‘œ μ‚½μž…ν–ˆμŒμ„ λ³΄μ—¬μ€λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ 좜λ ₯을 μ°Έμ‘°ν•˜μ„Έμš”.

{ "ok" : 1, "n" : 3 }

μŠ€ν‚€λ§ˆ μœ νš¨μ„± 검사 validationActions이 error둜 μ„€μ •λ˜λŠ” 경우 μŠ€ν‚€λ§ˆ μœ νš¨μ„± 검사 κ·œμΉ™μ„ μœ„λ°˜ν•˜λŠ” λ¬Έμ„œμ— λŒ€ν•΄ μ»¬λ ‰μ…˜μ— μ‚½μž…ν•˜λ©΄ 였λ₯˜κ°€ λ°˜ν™˜λ©λ‹ˆλ‹€. μ΄λŸ¬ν•œ κ·œμΉ™μ„ μœ„λ°˜ν•˜λŠ” λ¬Έμ„œλ₯Ό μ‚½μž…ν•˜λ €λ©΄ bypassDocumentValidation: trueλ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.

status ν•„λ“œμ— μœ νš¨μ„± 검사 κ·œμΉ™μ΄ μžˆλŠ” user μ»¬λ ‰μ…˜μ„ λ§Œλ“­λ‹ˆλ‹€.

μœ νš¨μ„± 검사 κ·œμΉ™μ€ μƒνƒœκ°€ 'Unknown(μ•Œ 수 μ—†μŒ)' λ˜λŠ” 'Incomplete(λΆˆμ™„μ „)'인지 ν™•μΈν•©λ‹ˆλ‹€.

db.createCollection("users", {
validator:
{
status: {
$in: [ "Unknown", "Incomplete" ]
}
}
})

μœ νš¨μ„± 검사 κ·œμΉ™μ„ μœ„λ°˜ν•˜λŠ” λ¬Έμ„œλ₯Ό μ‚½μž…ν•˜λ €κ³  μ‹œλ„ν•©λ‹ˆλ‹€.

db.runCommand({
insert: "users",
documents: [ {user: "123", status: "Active" } ]
})

μ‚½μž…μ€ μ“°κΈ° 였λ₯˜ λ©”μ‹œμ§€λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€,

{
n: 0,
writeErrors: [
{
index: 0,
code: 121,
errInfo: {
failingDocumentId: ObjectId('6197a7f2d84e85d1cc90d270'),
details: {
operatorName: '$in',
specifiedAs: { status: { '$in': [Array] } },
reason: 'no matching value found in array',
consideredValue: 'Active'
}
},
errmsg: 'Document failed validation'
}
],
ok: 1
}

bypassDocumentValidation : trueλ₯Ό μ„€μ •ν•˜κ³  μ‚½μž…μ„ λ‹€μ‹œ μ‹€ν–‰ν•©λ‹ˆλ‹€.

db.runCommand({
insert: "users",
documents: [ {user: "123", status: "Active" } ],
bypassDocumentValidation: true
})

μž‘μ—…μ΄ μ„±κ³΅ν•©λ‹ˆλ‹€.

μŠ€ν‚€λ§ˆ μœ νš¨μ„± 검사 κ·œμΉ™μ„ μœ„λ°˜ν•˜λŠ” λ¬Έμ„œλ₯Ό ν™•μΈν•˜λ €λ©΄ validate λͺ…령을 μ‚¬μš©ν•©λ‹ˆλ‹€.

λ°˜ν™˜λœ λ¬Έμ„œμ—λŠ” λ‹€μŒ ν•„λ“œμ˜ ν•˜μœ„ 집합이 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

insert.ok

λͺ…λ Ήμ˜ μƒνƒœμž…λ‹ˆλ‹€.

insert.n

μ‚½μž…λœ λ¬Έμ„œ μˆ˜μž…λ‹ˆλ‹€.

insert.writeErrors

μ‚½μž… μž‘μ—… 쀑에 λ°œμƒν•œ 였λ₯˜μ— κ΄€ν•œ 정보가 ν¬ν•¨λœ λ¬Έμ„œ λ°°μ—΄μž…λ‹ˆλ‹€. writeErrors λ°°μ—΄μ—λŠ” 였λ₯˜κ°€ λ°œμƒν•œ 각 μ‚½μž…μ— λŒ€ν•œ 였λ₯˜ λ¬Έμ„œκ°€ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

각 였λ₯˜ λ¬Έμ„œμ—λŠ” λ‹€μŒκ³Ό 같은 ν•„λ“œκ°€ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

insert.writeErrors.index

0λΆ€ν„° μ‹œμž‘ν•˜λŠ” 인덱슀λ₯Ό μ‚¬μš©ν•˜λŠ” documents λ°°μ—΄μ—μ„œ λ¬Έμ„œλ₯Ό μ‹λ³„ν•˜λŠ” μ •μˆ˜μž…λ‹ˆλ‹€.

insert.writeErrors.code

였λ₯˜λ₯Ό μ‹λ³„ν•˜λŠ” μ •μˆ˜ κ°’μž…λ‹ˆλ‹€.

insert.writeErrors.errmsg

였λ₯˜μ— λŒ€ν•œ μ„€λͺ…μž…λ‹ˆλ‹€.

insert.writeConcernError

μ‚½μž… μž‘μ—… 쀑에 λ°œμƒν•œ 였λ₯˜μ— κ΄€ν•œ 정보가 ν¬ν•¨λœ λ¬Έμ„œ λ°°μ—΄μž…λ‹ˆλ‹€.

버전 μ—μ„œ 5.0.30 변경됨: insert κ°€ μ—μ„œ μ‹€ν–‰λ˜λ©΄ ν•˜λ‚˜ μ΄μƒμ˜ μ“°κΈ° (write) 였λ₯˜κ°€ λ°œμƒν•˜λ”λΌλ„ μ“°κΈ° κ³ λ € (write concern) 였λ₯˜κ°€ 항상 mongos λ³΄κ³ λ©λ‹ˆλ‹€. 이전 λ¦΄λ¦¬μŠ€μ—μ„œλŠ” μ“°κΈ° (write) 였λ₯˜κ°€ λ°œμƒν•˜λ©΄ κ°€ μ“°κΈ° insert κ³ λ € (write concern) 였λ₯˜λ₯Ό λ³΄κ³ ν•˜μ§€ μ•Šμ„ 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

각 였λ₯˜ λ¬Έμ„œμ—λŠ” λ‹€μŒκ³Ό 같은 ν•„λ“œκ°€ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

insert.writeConcernError.code

μ“°κΈ° 문제 였λ₯˜μ˜ 원인을 μ‹λ³„ν•˜λŠ” μ •μˆ˜ κ°’μž…λ‹ˆλ‹€.

insert.writeConcernError.errmsg

μ“°κΈ° κ΄€λ ¨ 였λ₯˜μ˜ 원인에 λŒ€ν•œ μ„€λͺ…μž…λ‹ˆλ‹€.

insert.writeConcernError.errInfo.writeConcern

ν•΄λ‹Ή μž‘μ—…μ— μ‚¬μš©λ˜λŠ” μ“°κΈ° κ΄€λ ¨ κ°μ²΄μž…λ‹ˆλ‹€. μ“°κΈ° 문제 객체 ν•„λ“œμ— λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ μ“°κΈ° 문제 사양을 μ°Έμ‘°ν•˜μ„Έμš”.

μ“°κΈ° κ³ λ € κ°μ²΄μ—λŠ” μ“°κΈ° 문제의 원본을 λ‚˜νƒ€λ‚΄λŠ” λ‹€μŒ ν•„λ“œλ„ 포함될 수 μžˆμŠ΅λ‹ˆλ‹€.

insert.writeConcernError.errInfo.writeConcern.provenance

μ“°κΈ° λ¬Έμ œκ°€ λ°œμƒν•œ μœ„μΉ˜λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λ¬Έμžμ—΄ κ°’μž…λ‹ˆλ‹€(μ“°κΈ° 문제 provenance 라고도 함). λ‹€μŒ ν‘œμ—λŠ” 이 ν•„λ“œμ— μ‚¬μš©ν•  수 μžˆλŠ” κ°’κ³Ό κ·Έ μ˜λ―Έκ°€ λ‚˜μ™€ μžˆμŠ΅λ‹ˆλ‹€.

좜처
μ„€λͺ…

clientSupplied

μ“°κΈ° 우렀 사항은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ§€μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

customDefault

μ“°κΈ° κ³ λ €λŠ” μ‚¬μš©μž μ •μ˜λœ κΈ°λ³Έκ°’μ—μ„œ λΉ„λ‘―λœ κ²ƒμž…λ‹ˆλ‹€. setDefaultRWConcern을 μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

getLastErrorDefaults

μ“°κΈ° κ³ λ €λŠ” 볡제본 μ„ΈνŠΈμ˜ settings.getLastErrorDefaults ν•„λ“œμ—μ„œ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

implicitDefault

μ“°κΈ° κ³ λ €λŠ” λ‹€λ₯Έ λͺ¨λ“  μ“°κΈ° κ³ λ € 사양이 μ—†λŠ” μƒνƒœμ—μ„œ μ„œλ²„μ—μ„œ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

λ‹€μŒμ€ 단일 λ¬Έμ„œμ˜ 성곡적인 insert에 λŒ€ν•΄ λ°˜ν™˜λœ μ˜ˆμ‹œ λ¬Έμ„œμž…λ‹ˆλ‹€.

{ ok: 1, n: 1 }

λ‹€μŒμ€ insert λ¬Έμ„œ 두 개 쀑 ν•˜λ‚˜λŠ” μ„±κ³΅μ μœΌλ‘œ μ‚½μž…λ˜μ—ˆμ§€λ§Œ λ‹€λ₯Έ λ¬Έμ„œμ—μ„œ 였λ₯˜κ°€ λ°œμƒν•œ 경우 λ°˜ν™˜λœ λ¬Έμ„œ μ˜ˆμ‹œμž…λ‹ˆλ‹€.

{
"ok" : 1,
"n" : 1,
"writeErrors" : [
{
"index" : 1,
"code" : 11000,
"errmsg" : "insertDocument :: caused by :: 11000 E11000 duplicate key error index: test.users.$_id_ dup key: { : 1.0 }"
}
]
}

λŒμ•„κ°€κΈ°

getMore

이 νŽ˜μ΄μ§€μ˜ λ‚΄μš©