Python-NoSQL 데이터베이스

점점 더 많은 데이터가 비정형 또는 반 정형으로 사용 가능 해짐에 따라 NoSql 데이터베이스를 통해 데이터를 관리해야 할 필요성이 증가합니다. 또한 Python은 관계형 데이터베이스와 상호 작용하는 것과 유사한 방식으로 NoSQL 데이터베이스와 상호 작용할 수 있습니다. 이 장에서는 Python을 사용하여 MongoDB와 NoSQL 데이터베이스로 상호 작용합니다. MongoDB를 처음 사용하는 경우 여기 튜토리얼에서 배울 수 있습니다.

MongoDB에 연결하기 위해 Python은 다음과 같은 라이브러리를 사용합니다. pymongo. Anaconda 환경에서 아래 명령을 사용하여 Python 환경에이 라이브러리를 추가 할 수 있습니다.

conda install pymongo

이 라이브러리를 사용하면 Python이 db 클라이언트를 사용하여 MOngoDB에 연결할 수 있습니다. 연결되면 다양한 작업에 사용할 db 이름을 선택합니다.

데이터 삽입

MongoDB에 데이터를 삽입하려면 데이터베이스 환경에서 사용할 수있는 insert () 메서드를 사용합니다. 먼저 아래에 표시된 Python 코드를 사용하여 db에 연결 한 다음 일련의 키-값 쌍 형식으로 문서 세부 정보를 제공합니다.

# Import the python libraries
from pymongo import MongoClient
from pprint import pprint

# Choose the appropriate client
client = MongoClient()

# Connect to the test db 
db=client.test

# Use the employee collection
employee = db.employee
employee_details = {
    'Name': 'Raj Kumar',
    'Address': 'Sears Streer, NZ',
    'Age': '42'
}

# Use the insert method
result = employee.insert_one(employee_details)

# Query for the inserted document.
Queryresult = employee.find_one({'Age': '42'})
pprint(Queryresult)

위 코드를 실행하면 다음과 같은 결과가 나옵니다.

{u'Address': u'Sears Streer, NZ',
 u'Age': u'42',
 u'Name': u'Raj Kumar',
 u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}

데이터 업데이트

기존 MongoDB 데이터를 업데이트하는 것은 삽입과 유사합니다. mongoDB에 고유 한 update () 메서드를 사용합니다. 아래 코드에서 기존 레코드를 새 키-값 쌍으로 대체합니다. 업데이트 할 레코드를 결정하기 위해 조건 기준을 어떻게 사용하고 있는지 확인하십시오.

# Import the python libraries
from pymongo import MongoClient
from pprint import pprint

# Choose the appropriate client
client = MongoClient()

# Connect to db
db=client.test
employee = db.employee

# Use the condition to choose the record
# and use the update method
db.employee.update_one(
        {"Age":'42'},
        {
        "$set": {
            "Name":"Srinidhi",
            "Age":'35',
            "Address":"New Omsk, WC"
        }
        }
    )

Queryresult = employee.find_one({'Age':'35'})

pprint(Queryresult)

위 코드를 실행하면 다음과 같은 결과가 나옵니다.

{u'Address': u'New Omsk, WC',
 u'Age': u'35',
 u'Name': u'Srinidhi',
 u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}

데이터 삭제

레코드 삭제는 delete 메서드를 사용하는 곳에서도 간단합니다. 여기에서는 삭제할 레코드를 선택하는 데 사용되는 조건도 언급합니다.

# Import the python libraries
from pymongo import MongoClient
from pprint import pprint

# Choose the appropriate client
client = MongoClient()

# Connect to db
db=client.test
employee = db.employee

# Use the condition to choose the record
# and use the delete method
db.employee.delete_one({"Age":'35'})

Queryresult = employee.find_one({'Age':'35'})

pprint(Queryresult)

위 코드를 실행하면 다음과 같은 결과가 나옵니다.

None

따라서 특정 레코드가 더 이상 db에 존재하지 않음을 알 수 있습니다.