취미와 밥줄사이

[Python] MongoDB Query 본문

DB

[Python] MongoDB Query

취미와 밥줄사이 2021. 10. 28. 16:22

Filter the Result


  • collection에 documents를 찾을 때, 쿼리 객체를 사용하여 결과를 필터링 할 수 있다.
  • find 메소드의 첫 번째 인자는 쿼리 객체이다. 그리고 쿼리 객체를 사용하여 제한된 검색을 할 수 있다.
  • # Find document(s) with address "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"}:
  • # Find documents where the address starts with the letter "S" or higher:
    
    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)

정규표현식으로 필터링


  • 정규표현식을 modifer로 사용가능함
  • 정규표현식은 쿼리스트링에만 사용할 수 있습니다.
  • "주소" 필드가 문자 "S"로 시작하는 문서만 찾으려면 정규식{"$regex":"^S"}를 사용합니다.
  • # Find documents where the address starts with the letter "S":
    
    import pymongo
    
    myclient =
    pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["mydatabase"]
    mycol = mydb["customers"]
    
    myquery = {"address":{ "^S" } }
    
    mydoc = mycol.find(myquery)
    
    for x in mydoc:
    	print(x)

REFERENCE


https://www.w3schools.com/python/python_mongodb_query.asp

 

Python MongoDB Query

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

 

'DB' 카테고리의 다른 글

[SQL] NULL Values  (0) 2021.11.01
[SQL] SQL이란  (0) 2021.10.29
[Python] MongoDB Find  (0) 2021.10.28
[Python] MongoDB Insert Document  (0) 2021.10.28
[Python] MongoDB Create Collection  (0) 2021.10.28