cursor.isExhausted()
cursor.isExhausted()
์ค์
Mongo์ฌ ๋ฐฉ๋ฒ
์ด๋
mongosh
๋ฉ์๋์ ๋๋ค. ์ด๋Node.js
๋๋ ๊ธฐํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ณ ๋๋ผ์ด๋ฒ ๋ฉ์๋์ ๋ํ ์ค๋ช ์๊ฐ ์๋๋๋ค .๋๋ถ๋ถ์ ๊ฒฝ์ฐ
mongosh
๋ฉ์๋๋ ๋ ๊ฑฐ์mongo
shell ๋ฉ์๋์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์๋ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ผ๋ถ ๋ ๊ฑฐ์ ๋ฉ์๋๋mongosh
์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.๋ ๊ฑฐ์
mongo
์ ธ ๋ฌธ์๋ ํด๋น MongoDB ์๋ฒ ๋ฆด๋ฆฌ์ค ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.MongoDB API ๋๋ผ์ด๋ฒ์ ๊ฒฝ์ฐ ์ธ์ด๋ณ MongoDB ๋๋ผ์ด๋ฒ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ฐํํฉ๋๋ค: ๋ถ์ธ ์ปค์ ๊ฐ ์ฝ์ ํ์ฌ ๋ฌธ์ ๋ฐฐ์น ์ ๋ฌธ์๊ฐ ๋จ์ ์๋ ๊ฒฝ์ฐ
cursor.isExhausted()
์false
๋ฅผ ๋ฐํํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉดtrue
์ ๋ฐํํฉ๋๋ค.
ํธํ์ฑ
์ด ๋ฉ์๋๋ ๋ค์ ํ๊ฒฝ์์ ํธ์คํ ๋๋ ๋ฐฐํฌ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
MongoDB Atlas: ํด๋ผ์ฐ๋์์์ MongoDB ๋ฐฐํฌ๋ฅผ ์ํ ์์ ๊ด๋ฆฌํ ์๋น์ค
์ฐธ๊ณ
์ด ๋ช ๋ น์ ๋ชจ๋ MongoDB Atlas ํด๋ฌ์คํฐ์์ ์ง์๋ฉ๋๋ค. ๋ชจ๋ ๋ช ๋ น์ ๋ํ Atlas ์ง์์ ๊ดํด ์์ธํ ์์๋ณด๋ ค๋ฉด ์ง์๋์ง ์๋ ๋ช ๋ น์ ์ฐธ์กฐํ์ญ์์ค.
MongoDB Enterprise: MongoDB์ ๊ตฌ๋ ๊ธฐ๋ฐ ์์ฒด ๊ด๋ฆฌ ๋ฒ์
MongoDB Community: MongoDB์ ์์ค ์ฌ์ฉ ๊ฐ๋ฅ ๋ฌด๋ฃ ์์ฒด ๊ด๋ฆฌ ๋ฒ์
ํ๋
ํ ์ผ ์ปค์(tailable cursor)
tailable cursor( tailable cursor)์ ํจ๊ป isExhausted()
์(๋ฅผ) ์ฌ์ฉํ ์ ์์ต๋๋ค. tailable cursor๋ ํ์ฌ ๋ฐฐ์น์ ๋จ์ ์๋ ๋ฌธ์๊ฐ ์๋๋ผ๋ ์ด๋ฆฐ ์ํ๋ก ์ ์ง๋ฉ๋๋ค. ๋จ์ ์๋ ๋ฌธ์๊ฐ ์์ผ๋ฉด ๋ค๋ฅธ ์ปค์๊ฐ ์๋์ผ๋ก ๋ซํ๋๋ค.
๋ณ๊ฒฝ ์คํธ๋ฆผ
change stream ์๋ isExhausted()
์(๋ฅผ) ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋์ ๋ค์์ ๊ฒ์ฌํฉ๋๋ค:
๋ฌธ์๊ฐ change stream ์ปค์์ ๋จ์ ์์ผ๋ฉด
cursor.tryNext()
๋ฅผ ์ฌ์ฉํฉ๋๋ค.change stream ์ปค์๊ฐ ๋ซํ๋ฉด
cursor.isClosed()
์(๋ฅผ) ์ฌ์ฉํฉ๋๋ค.
change stream ์์๋ ์์ ๋ณด๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
์์
์ด ์น์
์๋ ์ปค์๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ์ ์ผ์์ ์จ๋ ์ธก์ ๊ฐ์ผ๋ก collection์์ ๋ฌธ์๋ฅผ ์ฝ๋ ์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. isExhausted()
์ ์๊ฐ ํ์๋ฉ๋๋ค.
๊ฐ๊ฒ์ฌ isExhausted()
์คํ:
sensorCursor.isExhausted()
sensorCursor
์ ๋ฌธ์๊ฐ ๋จ์ ์์ผ๋ฏ๋ก ์ถ๋ ฅ์ false
์
๋๋ค.
๊ฐ๊ฒ์ฌ isExhausted()
์คํ:
sensorCursor.isExhausted()
๋ ์ด์ ๋ฌธ์๊ฐ ์์ผ๋ฉฐ isExhausted()
์ด true
์ ๋ฐํํฉ๋๋ค.