반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

비전공개미 개발노트

MongoDB 1일차 - 몽고db설치, create, insert, find, update 본문

데이터베이스/MongoDB

MongoDB 1일차 - 몽고db설치, create, insert, find, update

비전공개미 2022. 9. 14. 16:46
반응형
SMALL

한빛미디어 MongoDB 예제소스 
github.com/mongodb-the-definitive-guide-3e

MONGO_HOME
C:\Program Files\MongoDB\Server\6.0
3번째 고급탭 -> 환경변수 -> 중앙에 있는 path클릭 후 편집
오른쪽상단 새로만들기
%MONGO_HOME%\bin


[몽고디비 ]     vs     [SQL=RDB]
데이터베이스         데이터베이스
collection                table
document               row한행
filed컬럼                 filed컬럼
( _id자동생성)        primary key



C:\mongodb\bit
=> cmd관리자모드로 실행
콘솔창1) 몽고디비 = dbserver구동  ★mongod.exe  -- dbpath C:\mongodb\bit 입력
콘솔창2) 몽고디비 = dbclient구동  mongsh.exe  -- 실행하면 test> 명령어 던져야 함

mongodb.com
MongoDB Community Server - msi파일다운
tools - MongoDB Shell - msi파일다운

MEAN풀스택 - MongoDB Express Angular.js Node.js


파이썬에서 구구단 7단을 출력
7*1 = 7 ~ 7*9 = 63

-- 파이썬에서 구구단 7단을 출력
-- 7*1 = 7 ~ 7*9 = 63

a = 7
c = 0
for b in range(1,10):
    c = a * b
    print(c)

 

/* mongodb에서 구구단 7단을 출력*/

function gugudan(dan){
  for(var i=1; i<10; i++){
    print(dan+'*'+i+'='+(dan*i));
  }
}
[Function: gugudan]
gugudan(7);

 

-- 41~44페이지
test> use video
video>  --  db가 없어도 호출해서 사용가능

 

-- 61페이지~90페이지 데이터의 CRUD

db.movies.insertOne( {key : 값} )
db.movies.insertMany( {key : 값}, {key : 값}  )

db.movies.find( )
db.movies.find( ).pretty( )

db.movies.deleteOne( {"_id" : 4} )
db.movies.deleteMany( {"opt-out" : true} )
db.movies.drop( )  //컬렉션삭제

db.movies.updateOne( {"_id" : 3}, {"$set" : "book" : "공조2"} )
신규등록 $inc 증감


-- 91페이지~115페이지 find( )검색관련 옵션
-- 94페이지 $lt, $lte, $gt, $gte






[몽고db 연습]

>use kakao

kakao> db.createCollection('guest')
kakao> db.guest.insertOne({'name':'kim', 'title':'blue', 'hit':7})
kakao> db.guest.insertOne({'name':'lee', 'title':'green', 'hit':3})
kakao> db.guest.insertOne({'name':'goo', 'title':'purple', 'hit':5})
kakao> db.guest.insertOne({'name':'hong', 'title':'red', 'hit':9})
# db.guest.insert({ ··· })  <==  입력은 되지만 오류메세지 출력됨 insertOne을 사용하기

kakao> db.guest.find()   == db.guest.find().pretty() (동일하게출력됨)
[
  {
    _id: ObjectId("6321655e5300108c19f6e96a"),
    name: 'kim',
    title: 'blue',
    hit: 7
  },
  {
    _id: ObjectId("6321661d5300108c19f6e96b"),
    name: 'lee',
    title: 'green',
    hit: 3
  },
  {
    _id: ObjectId("6321662c5300108c19f6e96c"),
    name: 'goo',
    title: 'purple',
    hit: 5
  }
]

#guest테이블의 name, title, hit를 출력
kakao> db.guest.find({}, {_id:0, name:1, title:1, hit:1})
[
  { name: 'kim', title: 'blue', hit: 7 },
  { name: 'lee', title: 'green', hit: 3 },
  { name: 'goo', title: 'purple', hit: 5 }
]

#hit가 3인 값
kakao> db.guest.find({hit:3}, {_id:0, name:1, title:1, hit:1})
[ { name: 'lee', title: 'green', hit: 3 } ]

#name이 kim인 값
kakao> db.guest.find({name:'kim'}, {_id:0, name:1, title:1, hit:1})
[ { name: 'kim', title: 'blue', hit: 7 } ]

#hit 5이상 7이하인 값
kakao> db.guest.find({hit:{$gte:5, $lte:7}}, {_id:0, name:1, title:1, hit:1})
[
  { name: 'kim', title: 'blue', hit: 7 },
  { name: 'goo', title: 'purple', hit: 5 }
]

kakao> db.createCollection('emp', {capped: true, size: 512000, max: 20000})  
#capped true=데이터보존, false=데이터밀어내기

kakao> show collections  #테이블들 보기
emp
guest

kakao> db.emp.drop( )  #collection테이블 삭제하기

kakao> db.createCollection('products')
kakao> db.products.insertMany([
{item: 'car', qty: 1, wdate: new Date()},
{item: 'mac', qty: 5, wdate: new Date()},
{item: 'aws', qty: 3, wdate: new Date()}
])
kakao> db.products.find( )

kakao> db.guest.drop( )
kakao> show collections
kakao> db.createCollection('guest')
 //db.guest.insertOne({name:"kim", title:"spring", hit: 78} )
 //db.guest.insertOne({name:"lee", title:"summer",  hit: 34} )
 //db.guest.insertOne({name:"goo", title:"winter", hit: 62} )
 //db.guest.insertOne({name:"choi", title:"snow", hit: 21} )
kakao> db.guest.find( )

  한건수정  db.guest.updateOne( {name: 'goo'}, {$set:{title: "공조2"}} ) 
  한건삭제  db.guest.deleteOne( {"_id":2} )
kakao> db.guest.find( )
반응형
LIST
Comments