몽고db

김승수·2023년 2월 12일
0

이번에 기업협업 나가는데

항상 RDBMS만 써서 nosql엔 무지성이라 가기전에 간단하게 공부하고

간단하게 명령어 쓰고 가서 공부 더하고 새로 써야겠다.

몽고DB는 fk, pk가 없다.

서버시작

mongod --dbpath "C:\mongodb\server\data"

서버종료

nodemon 종료하듯이 실행중 터미널가서 컨트롤+C

클라이언트 서버시작

mongo 

MongoDB를 기동하고 있는 단말과 같은 단말의 경우, 명령 프롬프트를 시작하여 이하의 커멘드를 실행하면 접속할 수 있다. 다른 호스트인 경우에는 --host <호스트명> 옵션으로 연결 대상을 지정한다.

클라이언트 서버종료

exit || 컨트롤 + C

db생성

> use sample_database

db 목록조회

> show dbs

db 삭제

> use sample_database
> db.dropDatabase();

컬렉션 생성

> db.createCollection(products);

컬렉션 조회

> show collections

도큐먼트 추가

> db.products.insert(
        {name: 'sample book', price: 1280}
    )

도큐먼트 수정

> db.products.update(
        {name: {$eq: 'sample book'}},
        {$set: {name: 'Hack MongoDB'}},
        {upsert: false, multi: true}
    )

도큐먼트 조회

> db.products.find(
         {name: {$eq: 'sample book'}}
    )

도큐먼트 삭제

> db.products.remove(
        {name: {$eq: 'sample book'}}
    )

정리

진짜 기본적인 명령어다. 협업나가서 조금더 배우고 공부해야겠다.

추가

  • 2/13일(1일차)
    • 몽고DB 기초개념 및 활용법 공부
      • 기본 용어
        MySQL 용어Mongo 용어
        databasedatabase
        tablecollection
        indexindex
        rowBSON document
        columnBSON field
        joinembedding and linking
      • 쿼리
        • create table [tableName]⇒ db.createCollectioncollectionName
        • insert into [tableName] values [ value1,value2,value3] ⇒ db.[collectionName].insert({field:value})
        • select a, b from [tableName] ⇒ db.[collectionName].find({},{a:1,b:1})
          • find() - 앞 {} 는 보통 WHERE 절 / 뒤 {}는 field (field에 1이 value일시 포함해서 표시 0 인경우 제외)
        • select * from [tableName] WHERE name like”%Joe%” ⇒ db.[collectionName].find({name:/Joe/})
          • name like “Joe%” ⇒({name:/^Joe/})
      • 비교연산자
        • $eq(equals) 주어진값과 일치하는값
        • $gt(greater than) 주어진값보다 큰값
        • $gte(greather than or equals) 주어진값보다 크거나 같은값
        • $lt(less than) 주어진값보다 작은값
        • $lte(less than or equals) 주어진값보다 작거나 같은값
        • $ne(not equal) 주어진값과 일치하지않은값
        • $in 주어진 배열안에 속하는값
        • $nin 주어진 배열안에 속하지않는값
        • ex: likes 값이 10보다 크고 45보다 작은 document 조회
          • db.articles.find({”likes”:{$gt:10, $lt:45}})
      • 논리연산자
        • $or 주어진 조건중 하나라도 true 일때 true
        • $and 주어진 모든조건이 true 일때 true
        • $not 주어진 조건이 false 일때 true
        • $nor 주어진 모든조건이 false 일때 true
profile
외부형 확장뇌

0개의 댓글