본문 바로가기
개발/MongoDB

[MongoDB] 실전용 MongoDB 기초 사용방법 간단히!

by 꾀돌이 개발자 2024. 8. 1.
반응형

 

실전용 MongoDB 기초 사용방법

 

 

 
 

 

 

목차

     

     

     

    - cmd(명령 프롬프트)에서 MongoDB를 사용하는 방법입니다.

     

    MongoDB 서버 실행

    - mongod 명령어는 MongoDB 서버를 시작합니다. 이 명령어를 실행하면 데이터베이스 서버가 백그라운드에서 실행되며, 클라이언트가 접속할 수 있게 됩니다.

    mongod

     

    MongoDB 셸 접속

    - mongo 혹은 mongosh 명령어는 MongoDB 셸에 접속하여 서버와 상호작용할 수 있게 합니다.

    - MongoDB 버전이 6보다 낮은 경우: 서버가 실행 중인 상태에서 mongo 명령어로 MongoDB 셸에 접속합니다.

    mongo

    - MongoDB 버전이 6 이상인 경우: 서버가 실행 중인 상태에서 mongosh 명령어로 MongoDB 셸에 접속합니다.

    mongosh

     

    데이터베이스 선택 및 생성

    - MongoDB는 명시적으로 데이터베이스를 생성할 필요가 없습니다.

    - use 명령어는 사용할 데이터베이스를 선택합니다. 만약 해당 데이터베이스가 존재하지 않으면, 이후 컬렉션이나 문서를 삽입할 때 자동으로 생성됩니다.

    use myDatabase

     

    컬렉션 생성 및 문서 삽입

    - 컬렉션을 생성하고 문서를 삽입하는 예제입니다. 컬렉션은 문서를 삽입할 때 자동으로 생성됩니다.

    - insertOne 메서드는 단일 문서를 컬렉션에 삽입합니다.

    - insertMany 메서드는 여러 문서를 한 번에 삽입합니다.

    db.myCollection.insertOne({ name: "Alice", age: 25, city: "New York" })
    db.myCollection.insertMany([
        { name: "Bob", age: 30, city: "San Francisco" },
        { name: "Charlie", age: 35, city: "Chicago" }
    ])

     

    문서 조회

    - 컬렉션에서 문서를 조회하는 예제입니다.

    - find 메서드는 컬렉션의 모든 문서를 조회합니다.

    - 조건에 맞는 문서만 조회하려면 find 메서드에 조건을 전달합니다.

    - findOne 메서드는 조건에 맞는 첫 번째 문서를 조회합니다.

    db.myCollection.find()
    db.myCollection.find({ age: { $gt: 30 } })  // age가 30보다 큰 문서 조회
    db.myCollection.findOne({ name: "Alice" })

     

    문서 수정

    - 문서를 수정하는 예제입니다.

    - updateOne 메서드는 조건에 맞는 첫 번째 문서를 수정합니다. $set 연산자를 사용하여 특정 필드의 값을 변경할 수 있습니다.

    - updateMany 메서드는 조건에 맞는 모든 문서를 수정합니다.

    db.myCollection.updateOne({ name: "Alice" }, { $set: { age: 26 } })
    db.myCollection.updateMany({ city: "New York" }, { $set: { city: "Boston" } })

     

    문서 삭제

    - 문서를 삭제하는 예제입니다.

    - deleteOne 메서드는 조건에 맞는 첫 번째 문서를 삭제합니다.

    - deleteMany 메서드는 조건에 맞는 모든 문서를 삭제합니다.

    db.myCollection.deleteOne({ name: "Alice" })
    db.myCollection.deleteMany({ city: "Boston" })

     

    인덱스 생성

    - 인덱스를 생성하여 조회 성능을 향상시킬 수 있습니다.

    - createIndex 메서드는 특정 필드에 대해 인덱스를 생성하여 조회 성능을 향상시킵니다. 1은 오름차순, -1은 내림차순을 의미합니다.

    db.myCollection.createIndex({ name: 1 })  // 오름차순 인덱스

     

    데이터베이스 및 컬렉션 확인

    - 현재 데이터베이스 및 컬렉션을 확인하는 명령어입니다.

    - show dbs 명령어는 서버에 존재하는 모든 데이터베이스를 나열합니다.

    - show collections 명령어는 현재 데이터베이스에 존재하는 모든 컬렉션을 나열합니다.

    show dbs  // 모든 데이터베이스 나열
    show collections  // 현재 데이터베이스의 모든 컬렉션 나열

     

    데이터베이스 삭제

    - 데이터베이스를 삭제하는 명령어입니다.

    - dropDatabase 메서드는 현재 사용 중인 데이터베이스를 삭제합니다.

    db.dropDatabase()

     

    컬렉션 삭제

    - 컬렉션을 삭제하는 명령어입니다.

    - drop 메서드는 특정 컬렉션을 삭제합니다.

    db.myCollection.drop()

     

    반응형