Python MongoDB 쿼리

결과 필터링

집합에서 문서를 찾을 때, query 객체를 사용하여 결과를 필터할 수 있습니다.

find() 첫 번째 매개변수는 query 객체로, 검색을 제한하는 데 사용됩니다.

예제

도메인을 "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)

실행 예제

고급 쿼리

고급 쿼리를 수행하려면 조건자를 쿼리 객체의 값으로 사용할 수 있습니다

예를 들어, "address" 필드의 "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)

실행 예제

정규 표현식으로 필터링

정규 표현식을 조건자로 사용할 수도 있습니다

정규 표현식은 쿼리 문자열에만 사용할 수 있습니다

만약 "address" 필드의 "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)

실행 예제