댓글 목록

파이썬 MongoDB 쿼리

페이지 정보

작성자 운영자 작성일 18-06-10 23:39 조회 1,594 댓글 0

동영상 강좌는 유튜브 채널 '웹학교'를 이용하시기 바랍니다.

결과 필터링 


컬렉션에서 문서를 찾을 때 쿼리 개체를 사용하여 결과를 필터링 할 수 있습니다.

find() 메서드의 첫 번째 인수는 쿼리 개체이며 검색을 제한하는 데 사용됩니다.


"Jong-ro 123"주소가 있는 문서를 찾기

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

myquery = { "address": "Jong-ro 123" }

mydoc = mycol.find(myquery)

for x in mydoc:
  print(x)


고급 쿼리 


고급 쿼리를 만들려면 쿼리 개체에서 수정자를 값으로 사용할 수 있습니다.


예 : "주소"필드가 글자 "J"이상 (알파벳 순)으로 시작하는 문서를 찾으려면 보다 큰 수정자를 사용하십시오 : { "$ gt": "J"} :


주소가 문자 "J"이상으로 시작하는 문서를 찾기:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

myquery = { "address": { "$gt": "J" } }

mydoc = mycol.find(myquery)

for x in mydoc:
  print(x)


정규 표현식으로 필터링 


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


** 정규식은 문자열을 쿼리하는 데만 사용할 수 있습니다.


"주소"필드가 문자 "J"로 시작하는 문서 만 찾으려면 정규식 { "$ regex": "^ J"}을 사용하십시오.


주소가 문자 "J"로 시작하는 문서를 찾는 코드. 

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

myquery = { "address": { "$regex": "^J" } }

mydoc = mycol.find(myquery)

for x in mydoc:
  print(x)


댓글목록 0

등록된 댓글이 없습니다.