Web: html ccs javascript react

mongodb 몽고DB 기본

jiheek 2023. 9. 7. 10:23

우분투에 MonggDB 설치하기

https://velog.io/@seungsang00/Ubuntu-MongoDB-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-Ubuntu-20.04

 

[Ubuntu] MongoDB 설치하기 (Ubuntu 20.04)

터미널 창에서 위의 명령어를 입력해 Description 부분을 확인하면 현재 설치된 우분투의 버전을 확인할 수 있다.터미널에서 다음 명령을 실행하여 https://www.mongodb.org/static/pgp/server-4.4.asc 에서 MongoDB

velog.io

이 포스트를 그대로 따라했다. :>

 

기본 db 관련 명령

mongo #mongo 쉘 진입
show dbs #db목록 조회
use <dbname> #db 선택하기 or 없으면 생성하기
db #사용중인 db 이름 보기

db.user.insertOne(~~) #db 생성하기
db.dropDatabase() #사용 중인 db 지우기

 

컬렉션과 문서

데이터를 여러 개로 나누어 각각을 컬렉션이라고 부르고,

컬렉션에 저장되는 한 건의 데이터를 문서라고 한다.

이 때, 문서들은 스키마 없이 자유롭게 작성된다.

#새 컬렉션 만들기. "user"라는 이름의 컬렉션, 옵션 {} 안에 지정
db.createCollection("user", {})

db.getCollectionNames() #사용 중인 DB 모든 컬렉션 보기
db.user.drop() #user라는 이름의 컬렉션 삭제
db.user.find({}) # user라는 이름의 컬렉션 검색

 

_id필드와 Object 타입

모든 몽고DB 문서는 _id라는 필드를 가지는데, 이 필드는 문서가 DB에 저장될 때 자동으로 만들어진다.

_id필드는 ObjectId("문자열")형태로 사용한다.

 

 

몽고DB 컬렉션의 CRUD 메서드

데이터를 생성, 검색, 수정, 삭제하는 메서드

https://mobiosolutions.com/mongodb-shell-commands/

위 페이지에서 다양한 메서드 이름과 의미 확인 가능.

 

#다수 문서 생성
> db.user.insertMany([{name:"Jac", age:32},{name:"tim", age:20}])
{
        "acknowledged" : true,
        "insertedIds" : [
                ObjectId("64f92304dff41c3beb7bbfbb"),
                ObjectId("64f92304dff41c3beb7bbfbc")
        ]
}
> db.user.find({})
{ "_id" : ObjectId("64f9214edff41c3beb7bbfba"), "name" : "Jack" }
{ "_id" : ObjectId("64f92304dff41c3beb7bbfbb"), "name" : "Jac", "age" : 32 }
{ "_id" : ObjectId("64f92304dff41c3beb7bbfbc"), "name" : "tim", "age" : 20 }

#옵션으로 문서 찾기 find
> db.user.find({name:'Jac'})
{ "_id" : ObjectId("64f92304dff41c3beb7bbfbb"), "name" : "Jac", "age" : 32 }

#옵션으로 문서 찾기 find: $gt 연산자
db.user.find({age:{$gt:20}})
{ "_id" : ObjectId("64f92304dff41c3beb7bbfbb"), "name" : "Jac", "age" : 32 }

연산자는 다른 포스트에서 알아보자!