mongoDBๅบ็คใใๅฎๅใพใง๏ผfeat. Node.js๏ผ
mongoDBใNoSQLใฏๆ่ฟๅคใ่ใใใพใใใใพใ ่ฆ็ฅใใฌใใผใฟใใผในใงใใ๏ผใชใฌใผใทใงใใซใใผใฟใใผใน๏ผRDS / SQL๏ผใฎใใใซไฝฟ็จใใฆใใพใใใ๏ผใใใ่ฏใๆ่กใๆญฃใใไฝฟ็จใใชใใจ้ๅนๆใ็บ็ใใพใใใ ใใใขใณใดใใฃใใฎไฝฟ็จๅคฑๆไบไพใใใฐใใฐ่ฆใใพใใใใฎใฌใในใณใงใฏใmongoDBใใงใใใ ใmongoDBใงไฝฟ็จใงใใใใใซใๅบๆฌๆฆๅฟตใใๅฎๅใใฆใใฆใพใงๆใใฆใใใพใใ
ๅ่ฌ็ 1,349ๅ
้ฃๆๅบฆ ๅ็ด
ๅ่ฌๆ้ ็กๅถ้

- ๆช่งฃๆฑบ
option usecreateindex is not supported ์ค๋ฅ ๋๋ฉด์
await mongoose.connect(MONGO_URL); // ์ ๊ฑฐ ํ์๊ณ ์ฌ์ฉ ํ์ธ์ // ๋ฒ์ 6๋ถํฐ ํด๋น ์ต์ ์ ์ฌ์ฉํ์ง ์์๋ ๋ผ์<img src="https://cdn.inflearn.com/public/files
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งdlrkdid120648
ใป
0
128
1
- ๆช่งฃๆฑบ
Schemaless ํน์ฑ์ ์ฌ์์ ๊ฒ์ํ๋ฉด์ด ๋์์
Schemaless ํน์ฑ์ ์ฌ์์ ๊ฒ์ํ๋ฉด์ด ๋์์ ์๋ก๊ณ ์นจํด๋ ๊ฐ์ ํ์์ด ๋์ค๋ค์ ใ <img src="https://cdn.inflearn.com/public/files/posts/4f2b90cd-24f2-401d-b82e-63bb64698114/แแ ณแ
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งtommychoi
ใป
0
219
1
- ๆช่งฃๆฑบ
user ๋ด์ฅ ์ ref ํ๋ ํ์์ฑ
์๋ ํ์ธ์ !์ ์ตํ ๊ฐ์ ๊ฐ์ฌํฉ๋๋ค. Blog.js์์ BlogSchema๋ฅผ ๋ณด๋ฉด,user๋ฅผ ๋ด์ฅํ์๋๋ฐ,_id์ ref ํ๋๊ฐ ๊ทธ๋๋ก ์๋๋ผ๊ตฌ์.์ฌ์ค populate ํ์ง ์์ ๊บผ๋ฉด ref
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งplane90
ใป
0
227
1
- ๆช่งฃๆฑบ
await ๊ด๋ จํด์ ์ง๋ฌธ๋๋ฆด๊ฒ ์์ต๋๋ค!!
์๋ ํ์ธ์ ๊ฐ์ฌ๋ !! ใ ใ ๊ฐ์ ์ฌ๋ฐ๊ฒ ๋ฃ๊ณ ์์ต๋๋ค. async await ๋ฐฉ์์ด ์ฝํ๋ฆฐ์ ์ฝ๋ฃจํด๊ณผ ๊ต์ฅํ ์ ์ฌํ๋ค๊ณ ์๊ฐ์ด ๋๋๋ฐ ๊ทธ๋ผ ๋ค์๊ณผ ๊ฐ์ด Promise.all ๋์ await๋ฅผ ๋ฆ์ถ๋ ๋ฐฉ์์ผ๋ก ํ์ด์จ๋ ๋๊ฐ์ด ๋์
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งchhong9965
ใป
0
278
2
- ๆช่งฃๆฑบ
์น์ 6์ 3๋ฒ์งธ ๊ฐ์ fakerํ์ผ์ด ์ด๋์๋์?
์ ๊ฐ์์ ์ฌ๋ ค๋์ผ์ จ๋ค๊ณ ํ์ จ๋๋ฐ Mongoose v6 ์ ๋ฐ์ดํธ ๊ด๋ จ ๊ณต์ง๋ง ์๊ณ faker ๊ด๋ จ ์ฝ๋๋ฅผ ๋ชป ์ฐพ๊ฒ ์ด์ ์ง๋ฌธ ๋จ๊น๋๋ค.
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งไฝๆ่ ใชใ
ใป
0
297
1
- ๆช่งฃๆฑบ
$elemMatch ์ง๋ฌธ์ด ์์ต๋๋ค.
๊ฐ์ ์ฐพ์ ๋ $elemMatch ๋ก ๊ฐ์ธ์ค์ผ ๋ ๋ค ํด๋นํ๋ ๊ฐ์ ์ฐพ์ ์ ์๋ค๊ณ ํด์ฃผ์ จ๋๋ฐ์.๋ฐ๋๋ก, $elemMatch ๋ฅผ ์ฐ์ง ์์ผ๋ฉด or ์กฐ๊ฑด์ผ๋ก ๊ฒ์์ด ๋๋ค๊ณ ์ดํดํ์ต๋๋ค. ์ฌ๊ธฐ์<img sr
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งparkoon4819
ใป
0
240
1
- ่งฃๆฑบ
DB ์ ๋ฐ์ดํธ์ ์คํจํ์ ์ํฉ์์ ๋์ฒ๋ ์ด๋ป๊ฒ ํ ์ ์๋์.
await Promise.all([ comment.save(), Blog.updateOne({ _id: blogId }, { $push: { comments: comment } }), ]);
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งparkoon4819
ใป
2
755
2
- ๆช่งฃๆฑบ
๋ธ๋ก๊ทธ์ user ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ๋ํด์
์ฝ๋ ์์ ์ populate ๋ถ๋ถ์ ๋ํ ์๊ฐ๋ ์ต์ํ ํ๊ธฐ ์ํด์ ์์ฑํ๋ ์์ ์ user ์ ์ต์ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ฃผ๊ณ ์๋๊ฑฐ ๊ฐ์๋ฐ์.์ด๋ ๊ฒ ์ ๊ทผํ๋ฉด, ํ๋ฉด ์ค์ฌ์ผ๋ก ๋ชจ๋ธ์ด ์ค๊ณ๊ฐ ๋๋๊ฒ ์๋๊น์?์๊ตฌ์ฌํญ์ด ๋ฐ๋๊ฑฐ๋, ๋ค๋ฅธ ์๋น์ค์์ ํด
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งparkoon4819
ใป
0
225
1
- ๆช่งฃๆฑบ
blog ๋ฐ์ดํฐ ์์ฑ์ user ๊ด๋ จ ์ค๋ฅ
๋ธ๋ก๊ทธ ์์ฑํ ๋ user ๊ฐ์ฒด๋ฅผ ๋ฃ์ผ๋ฉด, ๋ฆฌํด ๊ฐ์ผ๋ก user ๊ฐ์ฒด๋ฅผ ๋ฐ์ ์ ์๋ ์ด์ ์ด ์๋ค๊ณ ํด์, ์ ๋ฌํด๋ดค๋๋ฐ์.์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค.blog validation failed: user: Cast t
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งparkoon4819
ใป
0
342
1
- ่งฃๆฑบ
age ์์ธ ์ฒ๋ฆฌ๋ฅผ ๋ณ๋๋ก ํ์ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค.
์ด๋ฏธ Schema ์ ์ ํ ๋ age ๋ฅผ number ๋ก ํ๊ธฐ ๋๋ฌธ์, ๋๋น์ ์ ์ฅํ ๋ number ๊ฐ์ ์ ๋ฌํ์ง ์์ผ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํด์ catch ์์ ์ฒ๋ฆฌํ ์ ์์๊ฑฐ ๊ฐ์๋ฐ์.์ ๋ฐ์ดํธ ์ ์ ํ๋๋ฅผ validation ํ๋ฉด ๋ชจ๋ ํ๋์ ๋ํด์
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งparkoon4819
ใป
2
286
2
- ๆช่งฃๆฑบ
delete ๋ฉ์๋๊ฐ ๋ง์ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค.
User.findOneAndDelete User.deleteOne User.findByIdAndDelete์ด๋ ๊ฒ ๋ง์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํด์ฃผ๋ ์ด์ ๊ฐ ์์๊น์?๋จ์ํ ํธ์๋ฅผ ์ํ ๊ฒ์ธ์ง, ์ํฉ์ ๋ฐ๋ผ ๊ณจ๋ผ์ฐ๋
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งparkoon4819
ใป
0
172
1
- ๆช่งฃๆฑบ
unique validation ์ฒ๋ฆฌ
unique ์์ ์ค๋ณต์ด ๋ฐ์ํ๋ฉด catch ์ ์กํ๋๋ฐ, ์ด ๋ unique ์๋ฌ ๋๋ฌธ์ ๋ฐ์ํ ์๋ฌ์ธ์ง ์ด๋ป๊ฒ ์๊ณ ์ผ์ด์ค๋ฅผ ๋๋ ์ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌ ํ ์ ์์๊น์?
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งparkoon4819
ใป
0
289
1
- ่งฃๆฑบ
updateMany์์ user._id๋ฅผ ๋ชป์ฐพ๋ ์ํฉ
๊ฐ์ข๋๋ก Blog.updateMany({ "user._id": userId }, { "user.name": name })๋ก ํ๋ ๋ธ๋ก๊ทธ ๋ฐ์ดํฐ ์ ์ ์ ๋ณด๊ฐ ๋ณ
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งไฝๆ่ ใชใ
ใป
1
382
1
- ่งฃๆฑบ
find() ๊ฐ ๋ฆฌํดํ๋ instance member
nestjs + mongoose ์กฐํฉ์ด์ง๋ง, <a target="_blank" rel="noopener noreferrer nofollow" href="https://velog.io/@modolee/mongodb-document-to-javascrip
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งyoungkiu0922
ใป
1
417
3
- ่งฃๆฑบ
๋ชฝ๊ณ db๋ฅผ ๋ฐฑ์ ๋ฐฉ๋ฒ์ ๋ถํํฉ๋๋ค.
mongodump๋ก ๋ก์ปฌ์ ์ค์น๋ ๋ชฝ๊ณ db๋ฅผ ๋ฐฑ์ ํ๋ ค ํ๋๋ฐ ์๋์ ์ค๋ฅ๊ฐ ๋์ต๋๋ค.ํด๊ฒฐ๋ฐฉ๋ฒ์ ๋ถํํฉ๋๋ค.- (mongodump.exe)๋ฅผ ๋ณ๋๋ก ๋ค์ด๋ฐ์์ผ ํ๋์?-์ต์ ๋ฒ์ ์๋ mongodump.exeํ์ผ์ด ์ค์น๋์ด ์์ง ์์ต๋๋ค.<
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งjongwoo4u8291
ใป
0
599
1
- ่งฃๆฑบ
์ธ๋ฑ์ค ์์ฑ์์
์ ์๋, ์๋ ํ์ธ์! ์ข์ ๊ฐ์ ์ ๋ง๋ก ๊ฐ์ฌ๋๋ฆฝ๋๋ค!์ด๋ฒ ๊ฐ์๋ฅผ ๋ณด๋ฉด์, ๊ถ๊ธํ ๊ฒ ์๊ฒผ๋๋ฐ์.์ด๋ฒ๊ฐ์์์ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋ฉด์, ํ์์๋๊ฐ ํจ์ฌ ๋นจ๋ผ์ง๋ค๋ ๊ฑธ ์๊ฒ๋์์ต๋๋ค. ๊ธฐ์กด์ ์์ฑ๋์ด์๋ (์ธ๋ฑ์ค๊ฐ ๊ฑธ๋ ค์์ง ์์)๋ฐ์ดํฐ
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งjaehyeonlim
ใป
0
703
1
- ่งฃๆฑบ
$pull ๋ฌธ๋ฒ์ ๋ํ ์ง๋ฌธ
์ ์๋, ์๋ ํ์ธ์. ์ข์ ๊ฐ์ ๋๋ฌด ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋ต๋ณ๋ ์ํด์ฃผ์ ์ ๋๋ฌด ๊ฐ์ฌ๋๋ ค์!์ด๋ฒ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์,Blog.updateMany( { "comments.user": userId }
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งjaehyeonlim
ใป
0
355
1
- ่งฃๆฑบ
comment์ id๊ฐ ์์ฑ๋๋ ์์
์ ์๋ ์๋ ํ์ธ์. ๊ฐ์ ์ ๋ง ์๋ฃ๊ณ ์์ต๋๋ค. ๊ฐ์ฌ๋๋ฆฝ๋๋ค.๊ฐ์๋ฅผ ๋ณด๋ค๊ฐ ๊ถ๊ธํ ์ ์ด ์๊ฒผ๋๋ฐ์. ๋ธ๋ก๊ทธ์ ์ฝ๋ฉํธ๋ฅผ ๋ฃ์ ๋, ์ด๋ ๊ฒ ํ๋๋ฐ,const comment = new Comment({ co
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งjaehyeonlim
ใป
1
293
1
- ่งฃๆฑบ
๋ฆฌํฉํ ๋ง ๊ฐ์์์ ๋ผ์ฐํฐ ๋ฆฌํฉํ ๋ง ์ ๊ฐ์ฐ์ฐ์(...)
์ ์๋ ์๋ ํ์ธ์. ์ข์๊ฐ์ ์ ๋ง๋ก ๊ฐ์ฌ๋๋ฆฝ๋๋ค.๋ฆฌํฉํ ๋ง ๊ฐ์์์ ๋ผ์ฐํฐ๋ค์ Index.js๋ก ํตํฉ์์ผ์ค ๋ module.exports = { .
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งjaehyeonlim
ใป
1
307
1
- ่งฃๆฑบ
session.abortTransaction()์ ๋ํ ์ค์ ์์ ๋ฌธ์
์๋ ๋ช ๋ น์ด๋ฅผ ํตํด transaction์ด ์คํจํ์ ๋ ์๋ณตํ๋ค๊ณ ํ๋๋ฐ, ์ ๋ฐ ๊ฒ์ catch๋ฌธ์ ๋ฃ์ด์ผ ํ๋ ๊ฒ์ด ๋ง๋์? ์๋๋ฉด if else๋ก ๋ฌธ์ ์ ์ ๋ฐ๊ฒฌํ์ ๋ ์ฒ๋ฆฌํ๊ฒ ํ๋ ๊ฑธ๊น์?์ฆ, ์ ์ฝ๋๋ฅผ ์ค์ ๋ก ์ฌ์ฉํ ๋,
javascriptnode.jsawsmongodbrest-apidbms/rdbms๋ฐ์ดํฐ-์์ง๋์ด๋งm1108super7485
ใป
0
280
1

