[Python] MongoDB insert/update/select/delete documents

애옹·2024년 7월 3일

Python

목록 보기
10/13

MongoDB 내에서 사용하는 쿼리

INSERT문

day07/mongo_insert.py

  • 예약어가 겹칠 수 있어 이 방식은 지양한다
  • mongo_insert2.py 방식 지향
import pymongo

#지양해야 할 방식
mongo_insert2처럼 코드 작성
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient.python
emp = mydb.emp

emp.insert_one({'e_id':1,'e_name':'1','gen':'1','addr':'1'})

day07/mongo_insert2.py

import pymongo

#Connection
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["python"]
mycol = mydb["emp"] #테이블 이름

mydict = {"e_id":3, "e_name":"3", "gen":"3", "addr":"3", "tel":"3"}
x = mycol.insert_one(mydict)
print(x.acknowledged)

myclient.close()

day07/mongo_insert3.py

import pymongo

#Connection
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["python"]
mycol = mydb["emp"] #테이블 이름

#다중 insert
list = [
    {"e_id":1, "e_name":"1", "gen":"1", "addr":"1"},
    {"e_id":2, "e_name":"2", "gen":"2", "addr":"2"}
]

x = mycol.insert_many(list)
print(len(x.inserted_ids))

myclient.close()

UPDATE문

day07/mongo_update.py

import pymongo

#Connection
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["python"]
mycol = mydb["emp"] #테이블 이름

#단일 행 update
x = mycol.update_one({"e_id":2},{"$set":{"e_name":"6","gen":"6","addr":"6"}})
print(x.modified_count, "documents updated")

myclient.close()

SELECT문

day07/mongo_select.py

import pymongo

#Connection
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["python"]
mycol = mydb["emp"] #테이블 이름

for x in mycol.find():
    print(x)

myclient.close()

DELETE문

day07/mongo_delete.py

import pymongo

#Connection
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["python"]
mycol = mydb["emp"] #테이블 이름

#단일 행 delete
x = mycol.delete_one({"e_id":2})
print(x.deleted_count,"documents deleted")

myclient.close()
profile
괴발개발

0개의 댓글