파이썬 몽고DB 쿼리
결과 필터링
컬렉션에서 문서를 찾을 때 쿼리 개체를 사용하여 결과를 필터링할 수 있습니다.
메서드 의 첫 번째 인수는 find()
쿼리 개체이며 검색을 제한하는 데 사용됩니다.
예시
주소가 "Park Lane 38"인 문서 찾기:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": "Park Lane 38" }
mydoc = mycol.find(myquery)
for x in mydoc:
print(x)
고급 쿼리
고급 쿼리를 만들기 위해 수정자를 쿼리 개체의 값으로 사용할 수 있습니다.
예를 들어 "주소" 필드가 문자 "S" 이상(알파벳순)으로 시작하는 문서를 찾으려면 보다 큼 수식어를 사용하십시오
{"$gt": "S"}
.
예시
주소가 문자 "S" 이상으로 시작하는 문서 찾기:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$gt": "S" } }
mydoc = mycol.find(myquery)
for x in mydoc:
print(x)
정규 표현식으로 필터링
정규식을 수정자로 사용할 수도 있습니다.
정규식은 쿼리 문자열 에만 사용할 수 있습니다 .
"주소" 필드가 문자 "S"로 시작하는 문서만 찾으려면 다음 정규식을 사용합니다 {"$regex": "^S"}
.
예시
주소가 문자 "S"로 시작하는 문서 찾기:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$regex": "^S" } }
mydoc = mycol.find(myquery)
for x in mydoc:
print(x)