는 단일 문서를 검색합니다. insertOne() insertMany()
업데이트 : 메소드는 단일 문서를 업데이트합니다. 여러 문서를 업데이트합니다.
연산자를 사용하여 필드를 수정합니다. <code class="python">import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mydict = { "name": "John", "address": "Highway 37" }
x = mycol.insert_one(mydict)
print(x.inserted_id) #Prints the inserted document's ID
mydocs = [
{ "name": "Amy", "address": "Apple st 652"},
{ "name": "Hannah", "address": "Mountain 21"},
{ "name": "Michael", "address": "Valley 345"}
]
x = mycol.insert_many(mydocs)
print(x.inserted_ids) #Prints a list of inserted document IDs</code>
- 삭제 : 메소드는 단일 문서를 삭제합니다. 여러 문서를 삭제합니다.
find()
findOne()
를 MongoDB 연결 문자열로 바꾸는 것을 잊지 마십시오. 최적의 성능을위한 모범 사례 색인 사용 : - 인덱스는 쿼리 속도를 크게 높입니다. 자주 쿼리 된 필드에서 인덱스를 만듭니다. 여러 필드와 관련된 쿼리에 대한 복합 색인을 고려하십시오. 배치 작업 : 많은 문서를 삽입하거나 업데이트하려면 및 를 사용하여 데이터베이스로의 라운드 트립의 수를 줄입니다.
효율적인 쿼리를 줄입니다. 느리게 할 수 있으므로 조항을 사용하지 마십시오. 적절한 쿼리 연산자를 활용하십시오. 데이터 모델링 : insertMany()
데이터 모델을 신중하게 설계하십시오. 사용 사례에 적합한 경우 조인을 줄이고 쿼리 성능을 향상시키기 위해 denormalization을 고려하십시오. 연결 풀링 : 각 작업에 대한 새 연결을 생성하는 대신 데이터베이스 연결을 재사용하십시오. 이것은 오버 헤드가 줄어 듭니다. updateMany()
적절한 데이터 유형 : 각 필드에 대해 가장 효율적인 데이터 유형을 선택하십시오 (예 : 적절한 경우 문자열 대신 정수를 사용하십시오). - 대형 데이터 세트를 효율적으로 처리하는 sharding :
$where
집계 프레임 워크 : - 대형 데이터 세트의 복잡한 데이터 처리 및 분석 작업에 집계 프레임 워크를 사용하십시오. 필터링, 정렬 및 그룹화를위한 최적화 된 작업을 제공합니다. 스트림 변경 : 변경 스트림을 사용하여 실시간으로 데이터의 변경 사항을 모니터링합니다. 이것은 데이터 업데이트에 응답하는 반응성 응용 프로그램을 구축하는 데 도움이됩니다.
데이터 유효성 검사 : - 는 데이터 무결성을 보장하고 부정확하거나 잘못된 데이터의 삽입을 방지하기 위해 강력한 데이터 유효성 검사를 구현합니다. :
- : : 색인 무시 : 적절한 인덱스를 생성하지 못하면 쿼리 성능이 매우 느려질 수 있습니다.
잘못된 데이터 모델링 : 제대로 설계되지 않은 데이터 모델은 Queries를 조사한 할 수 있습니다. 프로젝션 () 네트워크 트래픽을 줄이고 성능을 향상시키기 위해. 오류 처리 부족 : CRUD 작업 중에 잠재적 인 문제를 우아하게 처리하기위한 적절한 오류 처리를 구현하십시오.
데이터 유효성 검사를 무시하지 않으면 삽입 이전에 데이터를 검증하지 못하면 Database에서 가장 근접한 내용과 오류가 발생할 수 있습니다. 관행 및 일반적인 함정을 피하면 대형 데이터 세트를 처리 할 때에도 MongoDB 응용 프로그램에서 효율적이고 신뢰할 수있는 CRUD 작업을 보장 할 수 있습니다.