2012-04-25 12 views
5

は、私はこのようにMongoDBで文書を持って辞書内の辞書付きPymongoクエリ?</p> <pre><code>{"ONE": {"TWO": {"THREE":"5"}}} </code></pre> <p>私は<a href="http://api.mongodb.org/python/current/api/pymongo/collection.html" rel="nofollow">Pymongo <code>find</code> API</a>を使用してMongoDBのを照会したいが、働いていない:

for value in dbaccess.find({"ONE":{"TWO":{"THREE":{"$gt":"0"}}}}): 
    print value 

何も上記のコードが印刷されなかっなっています。

答えて

9

2つのこと:あなたが整数として、ドキュメント内の5を扱いたい場合は

  1. 、二重引用符で囲まないでください。ネストされた文書を照会するため
  2. 使用ドット表記:

    dbaccess.find("ONE.TWO.THREE": {"$gt": 0})

+0

エクセレント!どうもありがとう。もう一つのQ ....私はすべての値の合計を持っていたい場合.....私たちはそれを得る方法を持っていますか?例えば...もし私が複数のそのような文書を持っていて、私の目標がすべてのONE.TWO.THREE値の合計を得ることであるなら... pymongo APIからそれを得ることは可能ですか?見つけることができますか? – Gana

+0

[here](http://api.mongodb.org/python/current/api/pymongo/collection.html?highlight=group#pymongo.collection.Collection.group)で議論されているコレクションのgroupメソッドを参照してください。 – JohnnyHK

+0

もう一度ありがとうございます。ちょっとだけQ .. ..--)私は奇妙な状況があります。あなたは "ONE.TWO.THREE"として質問することを提案しましたが、いくつかの文書では "TWO"は他に何でもありえます:-(.... reqxを使って、TWOの代わりに*を与えてもうまくいきませんでした:-( – Gana

関連する問題

 関連する問題