본문 바로가기
DB/MongoDB

데이터 베이스(No SQL) - MongoDB Create (CRUD)

by nomfang 2021. 1. 22.
728x90
반응형

MongoDB Create

대부분의 데이터베이스에는 CRUD라는 개념이 있다(Create, Read, Update, Delete)

 

MongoDB에는 create database라는 명령어가 없음 (데이터베이스 생성 명령을 제공하고 있지 않다)

MongoDB에서는 처음에 정의된 collection에 값을 저장할 때 MongoDB가 자동으로 데이터베이스를 생성한다

 

출처 : 엘리스코딩

위 도큐먼트의 Field name은 id와 name이고, 각각의 value는 10과 Elice

이러한 도큐먼트 묶음이 MongoDB에서 collection을 구성하게 된다

Database 생성

MongoDB에서 첫번째 기본적인 단계는 데이터베이스와 컬렉션을 배치하는 것

데이터베이스는 모든 컬렉션을 저장하는데 사용되면 컬렉션은 모든 도큐먼트를 저장하는데 사용된다

1. 데이터베이스를 생성할 포트 연결하기

파이썬에서 MongoDB와 상호작용 하기 위해서는 pymongo 라이브러리를 사용해야 한다 

pymongo를 import한 뒤 아래의 코드를 이용해 MongoDB를 연결할 수 있다

 27017은 MongoDB를 연결할 때 디폴트 포트 번호

pymongo.MongoClient("mongodb://localhost:27017/")

2. 데이터베이스 생성하기

MongoDB가 연결된 객체를 이용해 데이터베이스를 생성할 수 있음

연결된 객체의 변수명이 connection이라고 할 때, 

db = connection["생성할 데이터베이스"] 로 생성

connection에 list_database_names() 메소드를 이용하면 생성되어 있는 데이터베이스 목록을 확인

확인해 보면 데이터베이스 목록에 아래처럼 기본 데이터베이스만 출력된다 - 내용이 없으면 실제로 생성되지 않는다

['admin', 'config', 'local']

💡 Tip!
MongoDB 쉘에서는 use 명령어를 이용해 데이터베이스를 생성할 수 있다

Collection 생성

MongoDB에서 컬렉션을 만들려면 데이터베이스를 사용하고 만들려는 컬렉션의 이름을 지정

위에서 생성한 db 변수로 컬렉션을 생성하기 위해서는 아래의 코드처럼 작성되어야 한다

col = db["생성할 컬렉션"]

데이터베이스 객체db에 list_collection_names() 함수를 이용하면 컬렉션 목록을 확인할 수 있다

확인해 보면 아무것도 출력이 되지 않는다 - 컬렉션도 데이터가 없으면 실제로 생성되지 않는다.

💡 Tip!
MongoDB 쉘에서는 createCollection()과 insert() 메소드를 이용해서 컬렉션을 생성할 수 있다

반응형

댓글