2017-02-25 4 views
0
액세스

나는 내가 파이썬 스크립트를 통해 삽입 여름에는 레모네이드의 가격을 변경하는 방법에 대한 MongoDB의에서 항목을 다음과 같습니다중첩하여 MongoDB의 항목 및 파이썬

{ 
    "_id" : ObjectId('ffffffffffffffffff'), 
    "Drink" : "Lemonade" 
    "Prices per dates" : [ 
     { 
      "Date" : "02-22-2017", 
      "Price" : "5.00" 
     }, 
     { 
      "Date" : "02-21-2017", 
      "Price" : "6.00" 
     },    
     { 
      "Date" : "02-20-2017", 
      "Price" : "7.00" 
     } 
    ] 
} 

내가 좋아하는 것 단지 가격과 인쇄를 추출 :

5.00 6.00 7.00

I에 유래에이 게시물을 읽고 있었다 : Accessing Nested Objects in MongoDB

내가인가 내가 원하는 걸 할 수 없니? 아니면 그 질문에 대한 대답을 잘못 해석 했습니까?

그러나 이렇게 할 수 있다면 어떻게해야합니까? 그리고 내 일을 더 쉽게 할 수있는 데이터베이스를 포맷하는 더 좋은 방법이 있습니까? 이것이 매우 기본적인 질문이라면 유감스럽게 생각합니다. 최근에이 모든 것을 어떻게 사용하는지 배우기 시작했습니다. 링크 된 대답이 말한대로

답변

1

는 MongoDB를 항상 전체 문서를 반환합니다,하지만 당신은 쉽게 그에서 가격을 추출 할 수 있습니다 :

prices = [p["Price"] for p in doc["Prices per dates"]] 

doc 데이터베이스에서 반환 된 DICT이다.

0

위의 답변이 효과적입니다. 미래 참고로, 이것은 나의 최종 솔루션이었다

for i in [p["Price"] for p in collection.find_one({"Drink":"Lemonade"}["Prices per dates"]]: 
    print i 

출력 :

5.00 
6.00 
7.00