본문 바로가기
IT/MongoDB

MongoDB 기본 명령어 정리

by Blog37 2024. 5. 10.
반응형

# 계정 관리 명령어

  • 생성된 계정 목록 보기 :    show users
  • 계정 생성 하기 :    db.createUser(<user>)
    ex) db.createUser({ user: "root", pwd: "1111", roles: ["root"] })
  • 계정 삭제 하기 :    db.dropUser(<username>)
    ex) db.dropUser("root")
  • 계정 업데이트 하기 :    db.updateUser(<username>, <update>)

# 데이터베이스 명령어

  • 생성된 DB 목록 보기 :    show dbs
  • DB 생성 및 변경 하기 :    use <db_name>
    ex) use database
  • 현재 사용하고 있는 DB 보기 :    db
  • DB 삭제 하기 :    db.dropDatabase()

# 컬렉션 명령어

  • 생성된 컬렉션 목록 보기 :    show collections
  • 컬렉션 생성 하기 :    db.createCollection("collection_name")
    ex) db.createCollection("users")
  • 컬렉션 삭제 하기 :    db.<collection_name>.drop()
    ex) db.users.drop()
  • 컬렉션 이름 변경 하기 :    db.<collection_name>.renameCollection("new_collection_name")
    ex) db.users.renameCollection("posts")

[Tip]

  • 컬렉션 과 도큐먼트를 동시에 생성하기:    db.<collection_name>.insertOne(<document>)
    ex) db.users.insertOne({ name: "흰둥이", age: 3 })

# 도큐먼트 명령어

추가 (Create)

  • 도큐먼트 한 개 추가 :    db.<collection_name>.insertOne(<document>)
    ex) db.users.insertOne({ name: "흰둥이", age: 3 })
  • 도큐먼트 여러 개 추가 :    db.<collection_name>.insertMany([ <document>, <document> ])
    // 여러 개 도큐먼트를 배열로 묶어서 추가해야 함.
    ex) db.users.insertMany([ { name: "흰둥이", age: 3 }, { name: "바둑이", age: 2 } ])

조회 (Read)

  • 도큐먼트 한 개 조회 :    db.<collection_name>.findOne(<query>)
    // query에 매칭되는 첫 번째 도큐먼트만 조회.
    ex) db.users.findOne({ name: "흰둥이" })
  • 도큐먼트 여러 개 조회 :    db.<collection_name>.find(<query>)
    // query에 매칭되는 여러 도큐먼트를 조회.
    ex) db.users.find({ name: "흰둥이" })
    // query에 빈값()으로 주면, 모든 도큐먼트를 조회한다.
    ex) db.users.find()
  • 도큐먼트의 특정 키-값(필드)만 조회 :    db.<collection_name>.find(<query>, <projection>)
    // query에 매칭되는 도큐먼트의 특정 키-값(필드)만 조회. / (예제 결과: _id, name값만 표시됨.)
    ex) db.users.find({ name: "흰둥이" }, {_id: true, age: false})
    // 모든 도큐먼트의 특정 키-값(필드)만 조회.
    ex) db.users.find({}, {_id: true, age: false})
  • 도큐먼트 오름차순 조회 :    db.<collection_name>.find().sort({ field_key: 1 })
    ex) db.users.find().sort({ age: 1 })
  • 도큐먼트 내림차순 조회 :    db.<collection_name>.find().sort({ field_key: -1 })
    ex) db.users.find().sort({ age: -1 })
  • 도큐먼트 조회 결과수 제한 :    db.<collection_name>.find().limit(<number>)
    // 도큐먼트 조회 결과수를 3개로 제한.
    ex) db.users.find().limit(3)
  • 도큐먼트 조회 결과 건너뛰기(스킵) :    db.<collection_name>.find().skip(<number>)
    // 도큐먼트 3개를 건너뛰고 나머지 조회 결과물 출력.
    ex) db.users.find().skip(3)

수정 (Update)

  • 도큐먼트 한 개 수정 :    db.<collection_name>.updateOne(<query>, <update>)
    // query에 매칭되는 첫 번째 도큐먼트의 age 값을 7로 변경.
    ex) db.users.updateOne({ name: "흰둥이" }, { $set: { age : 7 } })
  • 도큐먼트 여러 개 수정 :    db.<collection_name>.updateMany(<query>, <update>)
    // query에 매칭되는 여러 도큐먼트의 age 값을 7로 변경.
    ex) db.users.updateMany({ name: "흰둥이" }, { $set: { age : 7 } })
    // query에 매칭되는 여러 도큐먼트의 age 값을 1씩 증가.
    ex) db.users.updateMany({ name: "흰둥이" }, { $inc: { age : 1 } })
    // { upsert: true } 옵션을 넣으면, 도큐먼트(query)를 찾을 수 없을 경우 새로운 도큐먼트로 추가함.
    ex) db.users.updateMany({ name: "초롱이" }, { $set: { age : 7 } }, { upsert: true })
  • 도큐먼트 교체 하기 :    db.<collection_name>.replaceOne(<query>, <replace>)
    // 주의: query에 매칭되는 기존의 도큐먼트를 새로운 도큐먼트로 모두 덮어씌움.
    ex) db.users.replaceOne({ name: "흰둥이" }, { name: "초롱이", addr: "seoul" })

삭제 (Delete)

  • 도큐먼트 한 개 삭제 :    db.<collection_name>.deleteOne(<query>)
    // query에 매칭되는 첫 번째 도큐먼트만 삭제함.
    ex) db.users.deleteOne({ name: "흰둥이" })
  • 도큐먼트 여러 개 삭제 :    db.<collection_name>.deleteMany(<query>)
    // query에 매칭되는 여러 도큐먼트를 삭제함.
    ex) db.users.deleteMany({ name: "흰둥이" })

 


https://blog37.tistory.com/entry/MongoDB-%EC%97%B0%EC%82%B0%EC%9E%90-%EC%A0%95%EB%A6%AC

 

MongoDB 연산자 정리

# 쿼리 연산자비교$eq :    값이 같음. (필드 == 값)ex) db.users.find({ age: { $eq: 2 } })$ne :    값이 같지 않음. (필드 != 값)ex) db.users.find({ age: { $ne: 2 } })$gt :    값이 필드 값보다 큼. (필드 > 값)ex) db.users.

blog37.tistory.com

반응형

'IT > MongoDB' 카테고리의 다른 글

MongoDB 연산자 정리  (0) 2024.05.10
window에서 MongoDB 설치 및 실행  (0) 2024.05.10