취미와 밥줄사이

[Python] MongoDB Find 본문

DB

[Python] MongoDB Find

취미와 밥줄사이 2021. 10. 28. 15:50
MongoDB에서 collection에 data를 찾기위해서 findOne 메서드와 find 메서드를 사용한다.

MySQL database에 테이블에서 데이터를 찾을 때 사용하는 SELECT문과 유사하다

Find One


  • MongoDB에 collection에 데이터를 찾기위해서 find_one() 메서드를 사용할 수 있다.
  • find_one() 메서드는 선택 항목에서 첫 번째 항목을 반환합니다.
  • # Find the first document in the customers collection:
    
    import pymongo
    
    myclient = 
    pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["mydatabase"]
    mycol = mydb["customers"]
    
    x = mycol.find_one()
    
    print(x)

Find All


  • MongoDB에 테이블로부터 데이터를 검색하기위해서 우리는 find() 메서드를 사용할 수 있다.
  • find() 메서드는 선택 항모의 모든 항목을 반환합니다.
  • find() 메서드의 첫 번째 매개 변수는 쿼리 개체입니다. 
  • find() 메서드의 매개변수는 MySQL의 SELECT*와 동일한 결과를 제공하지 않습니다.
  • # Return all documents in the "customers" collection, and print each document:
    
    import pymongo
    
    myclient = 
    pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["mydatabase"]
    mycol = mydb["customers"]
    
    for x in mycol.find():
    	print(x)

일부 필드만 반환하기


  • find() 메서드의 두 번째 매개변수는 결과에 포함할 필드를 설명하는 객체입니다.
  • 이 매개변수는 선택 사항이며 생략하면 모든 필드가 결과에 포함됩니다.
  • # Return only the names and address, not the _ids:
    
    import pymongo
    
    myclient = 
    pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["mydatabase"]
    mycol = mydb["customers"]
    
    for x in mycol.find({}, {"_id":0, "name":1, "address":1}):
    	print(x)
  • 동일한 개체에 0과 1 값을 모두 지정할 수 없습니다(필드 중 하나가 _id 필드인 경우 제외). 
  • 값이 0인 필드를 지정하면 다른 모든 필드는 값 1을 가져오고 그 반대의 경우도 마찬가지입니다.
  • # This example will exclude "address" from the result:
    
    import pymongo
    
    myclient = 
    pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["mydatabase"]
    mycol = mydb["customers"]
    
    for x in mycol.find({}, {"address":0}):
    	print(x)
# you get an error if you specify both 0 and 1 values in the same object
(except if one of the fields is the _id field):

import pymongo

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

for x in mycol.find({}, {"name":1, "address":0)}:
	print(x)

REFERENCE


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

 

Python MongoDB Find

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] SQL이란  (0) 2021.10.29
[Python] MongoDB Query  (0) 2021.10.28
[Python] MongoDB Insert Document  (0) 2021.10.28
[Python] MongoDB Create Collection  (0) 2021.10.28
[Python] MongoDB Create Database  (0) 2021.10.28