파이썬(Python)/웹서버

MongoDB 기본 명령어 모음, 파이썬

끄적끄적아무거나 2020. 12. 11. 18:17
반응형

코드>>

import pymongo

a_var = {
    "name": "James",
    "age": 25,
    "city": "Daejeon",
    "profile_pic" : [
        "pic_a.png",
        "pic_b.png"
    ]
}

b_var = {
    "name": "Brown",
    "age": 29,
    "profile_pic" : [
        "pic_c.png",
        "pic_d.png"
    ]
}

c_var = {
    "name": "Judy",
    "age": 22,
    "city": "Seoul",
    "profile_pic" : [
        "pic_e.png"
    ]
}

# mongodb와 연결 형성
connect_to = pymongo.MongoClient("localhost", 27017)
mdb = connect_to.test_db

# collection 생성
collection = mdb.members
collection.insert_many([a_var,b_var,c_var])

# document 찾기
searched = collection.find()
print(searched)
print(searched[0])
print("################")

searched = collection.find({"$or": [{"name": "Judy"}, {"name": "Brown"}]})
for _ in searched:
    print(_)
print("################")

searched = collection.find_one({"age": {"$gte": 28}})
print(searched)
print("################")

# document update 하기
collection.update_many({"name": "Judy"}, {"$set": {"name": "Charlie"}})
searched = collection.find()
for _ in searched:
    print(_)
print("################")

# document 삭제하기 
collection.delete_one({"name": "Charlie"})
searched = collection.find()
for _ in searched:
    print(_)
print("################")


 

결과>>

<pymongo.cursor.Cursor object at 0x00000177AE5B1A30>
{'_id': ObjectId('5fd33680115dd58db1cb3d5c'), 'name': 'James', 'age': 25, 'city': 'Daejeon', 'profile_pic': ['pic_a.png', 'pic_b.png']}
################
{'_id': ObjectId('5fd33680115dd58db1cb3d5d'), 'name': 'Brown', 'age': 29, 'profile_pic': ['pic_c.png', 'pic_d.png']}
{'_id': ObjectId('5fd33680115dd58db1cb3d5e'), 'name': 'Judy', 'age': 22, 'city': 'Seoul', 'profile_pic': ['pic_e.png']}
################
{'_id': ObjectId('5fd33680115dd58db1cb3d5d'), 'name': 'Brown', 'age': 29, 'profile_pic': ['pic_c.png', 'pic_d.png']}
################
{'_id': ObjectId('5fd33680115dd58db1cb3d5c'), 'name': 'James', 'age': 25, 'city': 'Daejeon', 'profile_pic': ['pic_a.png', 'pic_b.png']}
{'_id': ObjectId('5fd33680115dd58db1cb3d5d'), 'name': 'Brown', 'age': 29, 'profile_pic': ['pic_c.png', 'pic_d.png']}
{'_id': ObjectId('5fd33680115dd58db1cb3d5e'), 'name': 'Charlie', 'age': 22, 'city': 'Seoul', 'profile_pic': ['pic_e.png']}
################
{'_id': ObjectId('5fd33680115dd58db1cb3d5c'), 'name': 'James', 'age': 25, 'city': 'Daejeon', 'profile_pic': ['pic_a.png', 'pic_b.png']}
{'_id': ObjectId('5fd33680115dd58db1cb3d5d'), 'name': 'Brown', 'age': 29, 'profile_pic': ['pic_c.png', 'pic_d.png']}
################

 

 

 

 

주석>>

connect_to = pymongo.MongoClient("localhost", 27017) 로 파이썬에서 mongodb로 연결한다. 27017는 mongodb에서 설정한 포트 번호 이다.

 

connection에서 test_db라는 카테고리 명을 만들고 그 밑에 collection 명을 members로 넣었다.

 

나머지는 주석을 보면 db를 생성하는 법, 찾는 법, 삭제하는 법, 변경하는 법, 조건을 거는 법을 알 수 있다.

 

자세한 예제 및 설명은 아래 링크를 참조하면 된다.

 

https://docs.mongodb.com/manual/reference/operator/query/

 

 

 

반응형