Post

mongodb ๋ฌธ๋ฒ• ์ •๋ฆฌ ๐Ÿšง

SQL ๊ณผ ๋‹ค๋ฅธ์ 

  • ์Šคํ‚ค๋งˆ ๊ฐ€ ์—†๋‹ค.
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค > ์ปฌ๋ ‰์…˜

๊ธฐ์ดˆ ์‚ฌ์šฉ๋ฒ•

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ ๋ฐ ์ด๋™

1
use example
  • use ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ์ƒ์„ฑ๋œ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ 1๊ฑด ์ง‘์–ด๋„ฃ์€ ์ดํ›„ db ๋ช…๋ น์–ด๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ์ดํ„ฐ 1๊ฑด ์‚ฝ์ž…

1
db.food.insertOne({"name": "apple"})

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ œ๊ฑฐ

1
2
3
4
# 1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ด๋™
use example
# 2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ œ๊ฑฐ
db.dropDatabase();

์ปฌ๋ ‰์…˜ ์ƒ์„ฑ

1
db.createCollection(name, [options])

options ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ญ๋ชฉ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

FieldTypeDesc
cappedBoolean๊ณ ์ •๋œ ํฌ๊ธฐ, size ๊ฐ€ ์ดˆ๊ณผ๋˜๋ฉด ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฎ์–ด์“ด๋‹ค
autoIndexBoolean_id ํ•„๋“œ์— index ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑ, ๊ธฐ๋ณธ๊ฐ’์€ false
sizenumberCappedCollection ์œผ๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ, ํ•ด๋‹น ์ปฌ๋ ‰์…˜์˜ ์ตœ๋Œ€ ์‚ฌ์ด์ฆˆ๋ฅผ bytes ๋‹จ์œ„๋กœ ์ง€์ •
maxnumberํ•ด๋‹น ์ปฌ๋ ‰์…˜์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋ฅผ ์„ค์ •
1
2
3
4
5
6
db.createCollection("articles", {
... capped: true,
... autoIndex: true,
... size: 6142800,
... max: 10000
... })

์ปฌ๋ ‰์…˜ ์ œ๊ฑฐ

1
db.COLLECTION_NAME.drop()

๋‹คํ๋จผํŠธ ์ถ”๊ฐ€

1
2
3
4
5
6
db.books.insert({"name": "Book1", "author": "Author1"})

db.books.insert([
  {"name": "Book1", "author": "Author1"},
  {"name": "Book2", "author": "Author2"}
])

์ปฌ๋ ‰์…˜์˜ ๋‹คํ๋จผํŠธ ํ™•์ธ

1
2
3
4
db.books.find()

# ๋ณด๊ธฐ ์ข‹๊ฒŒ ๊ฐ€๊ณต๋œ ํ˜•ํƒœ๋กœ ์กฐํšŒ
db.books.find().pretty()
parametertypedesc
criteriadocument์‚ญ์ œ ํ•  ๋ฐ์ดํ„ฐ์˜ ๊ธฐ์ค€ ๊ฐ’, ์ด ๊ฐ’์ด {} ์ด๋ฉด ์ปฌ๋ ‰์…˜์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œ
justOneboolean์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜์ด๋ฉฐ, ์ด ๊ฐ’์ด true ๋ฉด 1๊ฐœ์˜ ๋‹คํ๋จผํŠธ๋งŒ ์‚ญ์ œ. ์ƒ๋žต ์‹œ, false ๋กœ ์ ์šฉ๋˜๋ฉฐ criteria ์— ํ•ด๋‹นํ•˜๋Š” ๋ชจ๋“  ๋‹คํ๋จผํŠธ ์‚ญ์ œ

์กฐํšŒ

๋น„๊ต ์—ฐ์‚ฐ์ž

์กฐํšŒ์ˆ˜๊ฐ€ 100 ์ดํ•˜์ธ ๊ฒŒ์‹œ๊ธ€์„ ์กฐํšŒํ•˜๋ ค๋ฉด?

QuerySelector ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. (๊ณต์‹๋ฌธ์„œ)

1
db.books.find({viewCnt: {$lte: 100}}).pretty()

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

  • $or
1
db.articles.find({ $or: [ { โ€œtitleโ€: โ€œarticle01โ€ }, { โ€œwriterโ€: โ€œAlphaโ€ } ] })
  • $and
1
2
db.articles.find( { $and: [ { โ€œwriterโ€: โ€œVelopertโ€ }, { โ€œlikesโ€: { $lt: 10 } } ] } )
db.articles.find( { โ€œwriterโ€: โ€œVelopertโ€, โ€œlikesโ€: { $lt: 10 } } )
  • $where

    $where ์„ ์‚ฌ์šฉํ•˜์—ฌ javascript expression ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

1
db.articles.find( { $where: โ€œthis.comments.length == 0โ€ } )

์ถœ์ฒ˜

This post is licensed under CC BY 4.0 by the author.