몽고DB - CRUD

Linda·2023년 5월 24일

MongoDB

목록 보기
1/3

crud 하기전에 미리 COLLECTION을 DB에 지정해 연결해두고 생성해두어야한다.
DB생성 : use 데이터베이스명
컬렉션생성 : db.createCollection("컬렉션명")

insert :

  • insertOne() : insertOne은 단일 도큐먼트를 삽입하는 명령어.
    db.컬렉션명.insertOne({name:"linda", age:20})
    몽고 3.2버전 이후에 추가된 명령이며, insert를 대체하기 위해 만들졌다.

  • insertMany() : 다수의 도큐먼트를 한번에 삽입하는 명령어로, list 형식 안에 요소로 여러개 데이터 넣어 한번에 생성 가능하다.
    db.컬렉션명.insertMany([{name:"linda", age:20},{name:"linda2", age:22}])
    insertOne과 같이 몽고 3.2버전 이후에 추가된 명령이다.

read :

  • 명령어
    입력된 모든 데이터 확인 : db.컬렉션명.find()
    첫번째로 찾은 데이터만 확인 : db.컬렉션명.findOne()
    모든데이터 중 일부 key값만 확인 : db.컬렉션명.find({},{key:1, keey:1...})
    -- (앞에 {} 는 모든 데이터를 대상한다는 의미이고, 뒤에 {}는 원하는 key값:1 을 입력한것이다.)
    출력을 원하지 않을 때 : db.컬렉션명.find({},{key:1,_id:0..})
    -- (원래는 key 값 중 자동으로 생성하는 고유식별 key인 "_id"는 항상 출력되지만, 출력을 원하지 않을 때 "_id:0"을 입력하면 출력되지 않는다.)
    and 조건으로 데이터 출력 (전체조건에 해당하는 document key 출력):
    db.컬렉션명.find({key:value}, {key:value}) : 뒷부분 {}을 제거하면 된다. == db.employees.find({key:"value"},{key:"value"})
    or 조건으로 데이터 출력 : db.컬렉션명.find({$or:[{key:value},{key:value}]})
    -지정된 key 값에서 조건보다 작은 value 데이터 모두 출력 :
    db.컬렉션명.find( {key : {$lt:value}} )
    지정된 key 값에서 조건보다 큰 value 데이터 모두 출력 :
    db.컬렉션명.find( {key : {$gt:value}} )
    지정된 key 값에서 조건과 같은 value 데이터 모두 출력 :
    db.컬렉션명.find( {key : {$eq:value}} )
    지정된 key 값에서 조건과 일치하지않은 value 데이터 모두 출력 :
    db.컬렉션명.find( {key : {$ne:value}} )
    지정된 key 값에서 조건과 작거나 같은 value 데이터 모두 출력 :
    db.컬렉션명.find( {key : {$lte:value}} )
    지정된 key 값에서 조건과 같거나 큰 value 데이터 모두 출력 :
    db.컬렉션명.find( {key : {$gte:value}} )
    지정된 key 값에서 array([])에 포함된 value 모두 출력 :
    db.컬렉션명.find( {key : {$in:[value]}} )
    지정된 key 값에서 array([])에 포함되지 않는 value 모두 출력 : db.컬렉션명.find( {key : {$nin:[value]}} )
    지정된 key 값에서 해당 문자열 포함한 모든 데이터 출력 :
    db.컬렉션명.find( {key : /문자열/}} )
    지정된 key 값에서 해당 문자열로 시작하는 모든 데이터 출력 :
    db.컬렉션명.find( {key : /^문자열/}} )
    해당key의 value 종류에 해당되는 모든 데이터 출력 :
    db.컬렉션명.distinct("key값")

update :

  • 맨 처음 매칭되는 한개의 document 수정 :
    db.컬렉션명.updateOne({"key":"value"},{$set : {"key":"value"}})
  • 해당하는 모든 document 수정 :
    db.컬렉션명.updateMany({"key":"value"},{$set : {"key":"value"}})
    $set: filed값 세팅
    $inc: filed값 증가 또는 감소
    ex ) db.users.updateMany({name:"linda"},{$inc:{age:10}})
    <- b 를 찾아서 age 10씩 증가해라

drop :

  • 명령어
    컬렉션 삭제 : db.컬렉션명.drop()

맨 처음 매칭되는 한개 데이터 삭제 : db.컬렉션명.deleteOne({})
맨 처음 매칭되는 해당 데이터 삭제 : db.컬렉션명.deleteOne({key:value})
value 에 해당하는 모든 데이터 삭제 : db.컬렉션명.deleteMany({key:value})
모든 데이터 삭제 : db.컬렉션명.deleteMany({})

0개의 댓글