공부한 내용 정리하는 공간입니다.
틀린 내용이 있을 수 있습니다.
모든 지적, 첨언 환영합니다.
오늘의 코드
1. MongoDB 데이터베이스와 컬렉션 생성
2. 가짜 데이터 생성 및 저장
3. 특정 조건으로 데이터 검색
from pymongo import MongoClient
from faker import Faker
client = MongoClient('mongodb://localhost:27017/')
db = client['mydatabase_faker']
collection = db['people']
fake = Faker()
for _ in range(20):
person = {
'name': fake.name(),
'address': fake.address(),
'email': fake.email(),
'phone': fake.phone_number()
}
collection.insert_one(person)
print("가짜 데이터가 성공적으로 입력되었습니다.")
result = collection.find_one({"author":"john"})
print(f"검색된 문서: {result}")
MongoClient()
MongoDB 데이터베이스에 연결
mongodb://localhost:27017/ : MongoDB 서버가 실행 중인 로컬 컴퓨터에 기본 포트로 연결
로컬 서버가 아니라 원격 서버를 이용하려면, URL을 mongodb://<remote-ip>:<port>/ 형식으로 변경
client["a"]
MongoDB에서 a라는 데이터베이스를 선택
a가 존재하지 않으면, 처음 데이터를 저장할 때 자동으로 생성됨
객체로 저장하여 선택된 MongoDB 데이터베이스를 조작할 수 있음
데이터베이스['컬렉션']
데이터베이스 내에 있는 컬렉션을 선택
컬렉션 : MongoDB에서 데이터를 단위
Faker()
가짜 데이터를 생성
fake.name() : 랜덤한 이름 생성
fake.address() : 랜덤한 주소 생성
fake.email() : 랜덤한 이메일 생성
fake.phone_number() : 랜덤한 전화번호 생성
로케일을 설정해 다른 국가에 맞는 데이터를 생성할 수도 있음
for _ in range(숫자)
값을 무시하고 반복문을 단지 반복
반복 변수 이름을 _로 설정하여, 변수 값에 신경 쓰지 않음을 의미
반복문 안에서 변수 값을 사용하지 않는 경우 사용
.insert_one()
MongoDB 컬렉션에 하나의 데이터 항목(문서)을 추가
삽입하려는 데이터는 보통 딕셔너리 형태로 작성됨
하나의 문서만 추가할 수 있어서 여러 개의 문서를 추가하고 싶다면 insert_many()를 사용
삽입 후 문서의 ID는 자동으로 생성
.find_one()
MongoDB 컬렉션에 있는 문서를 하나 찾아서 반환
조건을 입력할 경우 조건에 맞는 첫 번째 문서만 가져옴
조건에 맞는 문서가 없다면 None 반환
find()는 여러 문서를 찾을 수 있지만 찾은 데이터 값 자체를 이용하려면 for문으로 데이터 추출 과정 필요
오늘의 코드
1. MongoDB 데이터베이스와 컬렉션 생성
2. 가짜 데이터 생성 및 저장
3. 특정 조건으로 데이터 검색
from pymongo import MongoClient
from faker import Faker
client = MongoClient('mongodb://localhost:27017/')
db = client['mydatabase_faker']
collection = db['people']
fake = Faker()
for _ in range(20):
person = {
'name': fake.name(),
'address': fake.address(),
'email': fake.email(),
'phone': fake.phone_number()
}
collection.insert_one(person)
print("가짜 데이터가 성공적으로 입력되었습니다.")
result = collection.find_one({})
print(f"검색된 문서: {result}")
오늘의 코드 설명
1. MongoDB 데이터베이스와 컬렉션 생성
client = MongoClient('mongodb://localhost:27017/')
로컬 컴퓨터에서 실행중인 MongoDB 데이터베이스에 연결해서 객체 client를 생성
db = client['mydatabase_faker']
mydatabase_faker라는 이름의 데이터베이스를 db에 저장
mydatabase_faker라는 이름의 데이터베이스가 없으면 처음 데이터를 저장할 때 자동 생성됨
collection = db['people']
데이터베이스 mydatabase_faker에서 컬렉션 people을 선택해서 collection에 저장
2. 가짜 데이터 생성 및 저장
fake = Faker()
가짜 데이터를 생성하는 객체 fake를 생성
for _ in range(20):
반복문을 20번 실행
collection.insert_one(person)
컬렉션 people에 딕셔너리 person을 추가
3. 특정 조건으로 데이터 검색
result = collection.find_one({})
컬렉션 people에서 첫 번째 문서를 result에 저장
'클라우드기반 스마트 융합보안 과정 > Python' 카테고리의 다른 글
| [Python] Document(), .paragraph, .replace(), convert() (0) | 2025.01.29 |
|---|---|
| [Python] .getctime(), request.form.list(), zipfile.ZipFile() (0) | 2025.01.23 |
| [Python] rander_template('A.html', file_name = 파일이름), send_file('파일이름', as_attachment=True) (0) | 2025.01.17 |
| [Python] request.files[ ], 시트.iter_rows() (0) | 2025.01.17 |
| [Python] request.form[], 백엔드, 프론트엔드, 웹 애플리케이션 개발, MVC, 템플릿 엔진 (1) | 2025.01.16 |