Docs Menu
Docs Home
/
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งค๋‰ด์–ผ
/ / /

setDefaultRWConcern

setDefaultRWConcern

setDefaultRWConcern ๊ด€๋ฆฌ ๋ช…๋ น์€ ๋ณต์ œ๋ณธ ์„ธํŠธ ๋˜๋Š” ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ธ€๋กœ๋ฒŒ ๊ธฐ๋ณธ ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ๊ณ ๋ ค ๊ตฌ์„ฑ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. setDefaultRWConcern์€ admin ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด ์‹คํ–‰๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ๊ฒฝ์šฐ ํ”„๋ผ์ด๋จธ๋ฆฌ mongod์—์„œ setDefaultRWConcern ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์„ธ์š”.

  • ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ, mongos์—์„œ setDefaultRWConcern์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ช…๋ น์€ ๋‹ค์Œ ํ™˜๊ฒฝ์—์„œ ํ˜ธ์ŠคํŒ…๋˜๋Š” ๋ฐฐํฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • MongoDB Enterprise: MongoDB์˜ ๊ตฌ๋… ๊ธฐ๋ฐ˜ ์ž์ฒด ๊ด€๋ฆฌ ๋ฒ„์ „

  • MongoDB Community: MongoDB์˜ ์†Œ์Šค ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋ฌด๋ฃŒ ์ž์ฒด ๊ด€๋ฆฌ ๋ฒ„์ „

๋ช…๋ น์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ๋ฌธ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค:

db.adminCommand(
{
setDefaultRWConcern : 1,
defaultReadConcern: { <read concern> },
defaultWriteConcern: { <write concern> },
writeConcern: { <write concern> },
comment: <any>
}
)

์ด ๋ช…๋ น์€ ๋‹ค์Œ ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํ•„๋“œ
์œ ํ˜•
์„ค๋ช…

int

1๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

object

์ „์—ญ ์ฝ๊ธฐ ๊ณ ๋ ค ๊ตฌ์„ฑ์ด ํฌํ•จ๋œ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค. ์œ ํšจํ•œ ์ฝ๊ธฐ ๊ณ ๋ ค ๊ฐ์ฒด๋ฅผ ์ง€์ •ํ•˜์„ธ์š”.

  • setDefaultRWConcern ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ ˆ๋ฒจ์˜ ํ•˜์œ„ ์ง‘ํ•ฉ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • ํ˜„์žฌ ๊ตฌ์„ฑ๋œ ๊ธฐ๋ณธ ์ฝ๊ธฐ ๊ณ ๋ ค์˜ ์„ค์ •์„ ํ•ด์ œํ•˜๋ ค๋ฉด ๋นˆ ๋ฌธ์„œ {}์„(๋ฅผ) ์ง€์ •ํ•˜์„ธ์š”.

  • setDefaultRWConcern levels ๋Š” ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ์„ค์ •๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ์—์„œ๋Š” ๋‹ค๋ฅธ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ์„ค์ •์„ ์ง€์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ์ „์—ญ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ์ˆ˜์ •๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‘๋ ค๋ฉด ์ด ๋ฌธ์„œ ์ƒ๋žตํ•˜์„ธ์š”. ์ƒ๋žต๋œ ๊ฒฝ์šฐsetDefaultRWConcern ์—์„œ defaultWriteConcern์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

object

์ „์—ญ ๊ธฐ๋ณธ ์“ฐ๊ธฐ ๊ณ ๋ ค ๊ตฌ์„ฑ์ด ํฌํ•จ๋œ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค.

  • ์“ฐ๊ธฐ ๊ณ ๋ ค (write concern)w ์„ค์ •์˜setDefaultRWConcern ๊ฒฝ์šฐ ๋Š” w : 0 ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ์“ฐ๊ธฐ ๊ณ ๋ ค (write concern) ๊ฐ’์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • ์“ฐ๊ธฐ ๊ณ ๋ ค (write concern) ์„ค์ •์˜ wtimeout ๊ฒฝ์šฐ, setDefaultRWConcern 0 ์„ค์ •์„ ์ƒ๋žตํ•˜๋ฉด ์ด(๊ฐ€)(์œผ)๋กœ ๊ธฐ๋ณธ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์š”์ฒญ๋œ ์“ฐ๊ธฐ ๊ณ ๋ ค (write concern) ์ถฉ์กฑ๋  ๋•Œ๊นŒ์ง€ ์ž‘์—…์ด ์ฐจ๋‹จ . ์ „์—ญ ๊ธฐ๋ณธ๊ฐ’ wtimeout์„ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ ์“ฐ๊ธฐ (write) ์ž‘์—…์„ ํ—ˆ์šฉํ•˜์—ฌ ์š”์ฒญ๋œ ์“ฐ๊ธฐ ๊ณ ๋ ค (write concern) ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ ๊ฐ’์ด ์ปค์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ํ˜„์žฌ ๊ตฌ์„ฑ๋œ ์“ฐ๊ธฐ ๊ณ ๋ ค์˜ ์„ค์ •์„ ํ•ด์ œํ•˜๋ ค๋ฉด ๋นˆ ๋ฌธ์„œ {}์„(๋ฅผ) ์ง€์ •ํ•˜์„ธ์š”.

ํ˜„์žฌ ์ „์—ญ ์“ฐ๊ธฐ ๊ณ ๋ ค (write concern) ์ˆ˜์ •๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‘๋ ค๋ฉด ์ด ๋ฌธ์„œ ์ƒ๋žตํ•˜์„ธ์š”. ์ƒ๋žต๋œsetDefaultRWConcern ๊ฒฝ์šฐ ์—์„œ defaultReadConcern์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์ฒด

์„ ํƒ ์‚ฌํ•ญ. ๋ช…๋ น ์ž์ฒด์—์„œ ์‚ฌ์šฉํ•  ์“ฐ๊ธฐ setDefaultRWConcern ๊ณ ๋ ค (write concern) ์ง€์ •ํ•˜๋Š” ๋ฌธ์„œ ์ž…๋‹ˆ๋‹ค.

์ƒ๋žตํ•˜๋ฉด ๋Š”setDefaultRWConcern ์ด์ „์— ์„ค์ •ํ•˜๋‹ค ์ „์—ญ ๊ธฐ๋ณธ๊ฐ’ ์“ฐ๊ธฐ ๊ณ ๋ ค (write concern) ๊ฐ€ ๊ตฌ์„ฑ๋œ ๊ฒฝ์šฐ ์ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

comment

any

์„ ํƒ ์‚ฌํ•ญ. ์ด ๋ช…๋ น์— ์ฒจ๋ถ€ํ•  ์‚ฌ์šฉ์ž ์ œ๊ณต ์ฝ”๋ฉ˜ํŠธ์ž…๋‹ˆ๋‹ค. ์„ค์ •๋˜๋ฉด ์ด ์„ค๋ช…์€ ๋‹ค์Œ ์œ„์น˜์—์„œ ์ด ๋ช…๋ น์˜ ๋ ˆ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€์€ ์œ ํšจํ•œ ๋ชจ๋“  BSON types (๋ฌธ์ž์—ด, ์ •์ˆ˜, ๊ฐ์ฒด, ๋ฐฐ์—ด ๋“ฑ)์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

setDefaultRWConcern์€ ํ˜„์žฌ ๊ตฌ์„ฑ๋œ ์ „์—ญ ๊ธฐ๋ณธ ์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ณ ๋ ค๊ฐ€ ํฌํ•จ๋œ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜ํ™˜๋œ ํ•„๋“œ์— ๋Œ€ํ•œ ์ „์ฒด ์„ค๋ช…์„œ๋Š” getDefaultRWConcern์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ฐธ๊ณ 

featureCompatibilityVersion 4.4 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ณต์ œ๋ณธ ์„ธํŠธ ๋˜๋Š” ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐ mongod์˜ featureCompatibilityVersion์ด 4.4 ์ด์ƒ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์–ด์•ผ setDefaultRWConcern(์„)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MongoDB 5.0๋ถ€ํ„ฐ๋Š” setDefaultRWConcern ๋ช…๋ น์„ ํ†ตํ•ด CWWC(Cluster Wide Write Concern, ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด ์“ฐ๊ธฐ ๊ณ ๋ ค)๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋‚˜๋ฉด ์“ฐ๊ธฐ ๊ณ ๋ ค ์„ค์ •์„ ํ•ด์ œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

MongoDB๋Š” ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์€ ์—ฐ์‚ฐ์—๋งŒ ์ „์—ญ ๊ธฐ๋ณธ ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

MongoDB๊ฐ€ ์ „์—ญ ๊ธฐ๋ณธ ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์—ฐ์‚ฐ์— ์ ์šฉํ•˜๋ฉด ์‹คํ–‰ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•ด๋‹น ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ํ•ด๋‹น ์—ฐ์‚ฐ์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ณต์ œ๋ณธ ์„ธํŠธ ํ”„๋ผ์ด๋จธ๋ฆฌ๋ฅผ ๋Œ€์ƒ์œผ๋กœ setDefaultRWConcern์„ ์‹คํ–‰ํ•˜์„ธ์š”. ํ”„๋ผ์ด๋จธ๋ฆฌ๋Š” ์ƒˆ ์ „์—ญ ๊ธฐ๋ณธ ์„ค์ •์„ ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ๋‚˜๋จธ์ง€ ๋ฉค๋ฒ„์— ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ๋œ ์ „์—ญ ๊ธฐ๋ณธ ์„ค์ •์„ ์•„์ง ๋ณต์ œํ•˜์ง€ ์•Š์€ ์„ธ์ปจ๋”๋ฆฌ์—์„œ๋Š” ๊ธฐ๋ณธ๊ฐ’์˜ '์˜ค๋ž˜๋œ' ๋กœ์ปฌ ์‚ฌ๋ณธ์„ ๊ณ„์† ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

w : "majority"์˜ writeConcern์œผ๋กœ setDefaultRWConcern ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋Œ€๋ถ€๋ถ„์˜ ๋ณต์ œ๋ณธ ์„ธํŠธ ๊ตฌ์„ฑ์›์— ์ „ํŒŒ๋œ ํ›„์—๋งŒ ๋ช…๋ น์ด ๋ฐ˜ํ™˜๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ์˜ mongos์— ๋Œ€ํ•ด setDefaultRWConcern(์„)๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. mongos(์€)๋Š” ์—…๋ฐ์ดํŠธ๋œ ์„ค์ •์„ config ์„œ๋ฒ„ ๋ณต์ œ๋ณธ ์„ธํŠธ(CSRS)์— ๊ณ„์† ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ mongos (์€)๋Š” CSRS๋ฅผ ๋Œ€์ƒ์œผ๋กœ getDefaultRWConcern(์„)๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์‹คํ–‰ํ•ด์„œ ์ „์—ญ ์„ค์ •์˜ ๋กœ์ปฌ ์‚ฌ๋ณธ์„ ์ƒˆ๋กœ ๊ณ ์นฉ๋‹ˆ๋‹ค. mongos(์€)๋Š” ์ƒˆ๋กœ๊ณ ์นจ ์‚ฌ์ด์˜ ๊ธฐ๊ฐ„ ๋™์•ˆ ์ „์—ญ ๊ธฐ๋ณธ๊ฐ’์˜ '์˜ค๋ž˜๋œ' ๋กœ์ปฌ ์‚ฌ๋ณธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

w : "majority"์˜ writeConcern์œผ๋กœ setDefaultRWConcern ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋Œ€๋ถ€๋ถ„์˜ CSRS ๊ตฌ์„ฑ์›์— ์ „ํŒŒ๋œ ํ›„์—๋งŒ ๋ช…๋ น์ด ๋ฐ˜ํ™˜๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ๊ณ ๋ ค ์„ค์ •์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์€ ์ฑ„ mongos์„(๋ฅผ) ๋Œ€์ƒ์œผ๋กœ ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•˜๋ฉด mongos์ด(๊ฐ€) ์ด์— ํ•ด๋‹นํ•˜๋Š” ์ „์—ญ ๊ธฐ๋ณธ ์„ค์ •์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ „์—ญ ๊ธฐ๋ณธ ์„ค์ •์€ ๊ฐœ๋ณ„ ์ƒค๋“œ์— ์ „ํŒŒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ƒค๋“œ์— ๋Œ€ํ•ด์„œ๋Š” setDefaultRWConcern์„ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ค‘์š”

setDefaultRWConcern์—๋Š” featureCompatibilityVersion 4.4+์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐํฌ์„œ๋ฒ„์˜ featureCompatibilityVersion์„ 4.4์—์„œ 4.2๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด์˜ ์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ณ ๋ ค ๊ธฐ๋ณธ๊ฐ’์ด ์†์‹ค๋ฉ๋‹ˆ๋‹ค. ๋‹จ, mongos ์ธ์Šคํ„ด์Šค๋Š” ์ตœ๋Œ€ 30์ดˆ ๋™์•ˆ ๊ธฐ๋ณธ๊ฐ’์„ ๊ณ„์† ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

config ์„œ๋ฒ„์—์„œ ์“ฐ๊ธฐ ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•˜๋Š” ์ƒค๋”ฉ ๊ด€๋ฆฌ ๋ช…๋ น(์˜ˆ: enableSharding ๋ช…๋ น ๋˜๋Š” addShard ๋ช…๋ น)์€ ์ „์—ญ ๊ธฐ๋ณธ ์“ฐ๊ธฐ ๊ณ ๋ ค ์„ค์ •์—์„œ ํŠน์ •ํ•œ ๋™์ž‘์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ์ด ๋ช…๋ น์€ ๊ตฌ์„ฑ๋œ ์ „์—ญ ๊ธฐ๋ณธ ์“ฐ๊ธฐ ๊ณ ๋ ค์— ๊ด€๊ณ„์—†์ด "majority"์„(๋ฅผ) ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ์ด ๋ช…๋ น์€ ์ตœ์†Œ wtimeout์„ 60000(์œผ)๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์€ 60000๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ์—๋งŒ ์ „์—ญ ๊ธฐ๋ณธ ์“ฐ๊ธฐ ๊ณ ๋ ค wtimeout์„(๋ฅผ) ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ž์ฒด ๊ด€๋ฆฌ ๋ฐฐํฌ์„œ๋ฒ„์— ์ธ์ฆ์„ ์ ์šฉํ•˜๋Š” ๋ณต์ œ๋ณธ ์„ธํŠธ ๋˜๋Š” ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ, setDefaultRWConcern ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž์—๊ฒŒ setDefaultRWConcern ๊ถŒํ•œ ์กฐ์น˜ ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

clusterManager ๊ธฐ๋ณธ ์ œ๊ณต ์—ญํ• ์€ setDefaultRWConcern์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ถŒํ•œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜ ์—ฐ์‚ฐ์—์„œ๋Š” ์ „์—ญ ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ๋‹ค์Œ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

db.adminCommand({
"setDefaultRWConcern" : 1,
"defaultWriteConcern" : {
"w" : 2
}
})

์ด ์ž‘์—…์€ ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ๋ฌธ์„œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

{
"defaultWriteConcern" : {
"w" : 2
},
"updateOpTime" : Timestamp(1586290895, 1),
"updateWallClockTime" : ISODate("2020-04-07T20:21:41.849Z"),
"localUpdateWallClockTime" : ISODate("2020-04-07T20:21:41.862Z"),
"ok" : 1,
"$clusterTime" : { ... }
"operationTime" : Timestamp(1586290925, 1)
}

๋‹ค์Œ ์—ฐ์‚ฐ์—์„œ๋Š” ์ „์—ญ ์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ "majority"(์œผ)๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

db.adminCommand({
"setDefaultRWConcern" : 1,
"defaultReadConcern" : { "level" : "majority" }
})

์ด ์ž‘์—…์€ ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ๋ฌธ์„œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

{
"defaultReadConcern" : {
"level" : "majority"
},
"updateOpTime" : Timestamp(1586290895, 1),
"updateWallClockTime" : ISODate("2020-04-07T20:21:41.849Z"),
"localUpdateWallClockTime" : ISODate("2020-04-07T20:21:41.862Z"),
"ok" : 1,
"$clusterTime" : { ... }
"operationTime" : Timestamp(1586290925, 1)
}

์•„๋ž˜ ์—ฐ์‚ฐ์—์„œ๋Š” ์ „์—ญ ๊ธฐ๋ณธ ์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ๋‹ค์Œ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

db.adminCommand({
"setDefaultRWConcern" : 1,
"defaultWriteConcern" : {
"w" : 2
},
"defaultReadConcern" : { "level" : "majority" }
})

์ด ์ž‘์—…์€ ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ๋ฌธ์„œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

"defaultWriteConcern" : {
"w" : 2
},
"defaultReadConcern" : {
"level" : "majority"
}

๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ „์—ญ ๊ธฐ๋ณธ ์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ์„ค์ • ํ•ด์ œํ•˜์„ธ์š”.

  • ์ „์—ญ ๊ธฐ๋ณธ ์“ฐ๊ธฐ ๊ณ ๋ ค๋Š” ์•„์ง ์„ค์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋งŒ ์„ค์ • ํ•ด์ œํ•˜์„ธ์š”.

๊ทธ ์˜ˆ๋กœ ์ „์—ญ ๊ธฐ๋ณธ ์ฝ๊ธฐ ๊ณ ๋ ค๊ฐ€ level: "majority"(์œผ)๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค. ์ „์—ญ ๊ธฐ๋ณธ ์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ์„ค์ • ํ•ด์ œํ•˜๋ ค๋ฉด ๋นˆ ๋ฌธ์„œ {}์„(๋ฅผ) ์‚ฌ์šฉํ•˜์„ธ์š”.

db.adminCommand( {
"setDefaultRWConcern" : 1,
"defaultReadConcern" : {}
} )

์ด ์—ฐ์‚ฐ์€ ์—ฐ์‚ฐ์ด ์„ฑ๊ณตํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์„œ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

{
defaultReadConcern: { level: 'local' },
defaultWriteConcern: { w: 2, wtimeout: 0 },
updateOpTime: Timestamp({ t: 1656696934, i: 1 }),
updateWallClockTime: ISODate("2022-07-01T17:35:40.578Z"),
defaultWriteConcernSource: 'global',
defaultReadConcernSource: 'implicit',
localUpdateWallClockTime: ISODate("2022-07-01T17:35:40.578Z"),
ok: 1,
'$clusterTime': {
...
},
operationTime: Timestamp({ t: 1656632593, i: 1 })
}

์ „์—ญ ๊ธฐ๋ณธ ์“ฐ๊ธฐ ๊ณ ๋ ค๋Š” ์•„์ง ์„ค์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋งŒ ์„ค์ • ํ•ด์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ „์—ญ ๊ธฐ๋ณธ ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์„ค์ • ํ•ด์ œํ•˜๋ ค๋ฉด ๋นˆ ๋ฌธ์„œ {}์„(๋ฅผ) ์‚ฌ์šฉํ•˜์„ธ์š”.

db.adminCommand( {
"setDefaultRWConcern" : 1,
"defaultWriteConcern" : {}
} )

์ „์—ญ ๊ธฐ๋ณธ ์“ฐ๊ธฐ ๊ณ ๋ ค๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํƒœ์ธ ๊ฒฝ์šฐ:

  • ์„ค์ • ํ•ด์ œ๋จ, ์—ฐ์‚ฐ์ด ์„ฑ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ์ด๋ฏธ ์„ค์ •๋˜์–ด ์žˆ์Œ, ์—ฐ์‚ฐ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

MongoServerError: The global default write concern cannot be unset
once it is set.

๋Œ์•„๊ฐ€๊ธฐ

setParameter

์ด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ