2017-02-25 2 views
0

私はPythonスクリプトを介して挿入夏の間にレモネードの価格を変更する方法については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" 
     } 
    ] 
} 

私はちょうど価格と印刷を抽出したいと思います:私はStackOverflowの上でこの記事を読んでいた

5.00 6.00 7.00

Accessing Nested Objects in MongoDB

は私です私がしたいことをすることはできませんか?それとも私はその質問に対する答えを誤って解釈しましたか?

しかし、これを行うことができれば、どうすればいいですか?そして私の仕事を楽にするデータベースをフォーマットする良い方法がありますか?これが非常に基本的な質問であれば申し訳ありませんが、私は最近このすべてをどのように処理するかを学び始めました。そのリンクの答えが言うように

答えて

1

は、MongoDBは常にフルドキュメントを返しますが、あなたは簡単にそれから価格を抽出することができます。

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

docは、データベースから返された辞書です。

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 
関連する問題