2012-04-19 17 views
0

を使用してMongoDBをします`Between`クエリは、私は、コレクション内の次のデータを持っているのpython

{ 
    status: "suspended", 
    number: "087495623" 
    hits: 10 
} 
{ 
    status: "pending", 
    number: "035672790" 
    hits: 30 
} 
{ 
    status: "approved", 
    number: "048750023" 
    hits: 20 
} 

私は> 10に当たると、私は、クエリを生成するのpythonを使用していにヒットレコードを選択しますので、私は、次の操作を行います。

dict = {"hits": {"&gt": 10}} 
dict.update({"hits": {"&lt": 30}}) 

がので、私は辞書内の次の値を取得しようとしている:{ "ヒット":{ "& GT ":10}、 "ヒット":{" & LT" を:30}} してから:

db.test.find(dict) 

私は第二行を取得したい(ヒット> 10と< 30に当たる)が、私はそれが基本的に前のものを書き換える同じキーで辞書を更新するためにも最初のものを得ます。 ここで何かできることはありますか?あなたがしなければならない

おかげ

答えて

2

dict['hits'].update({'&lt': 30}) 

代わりに、あなたの更新呼び出しの。

+0

ありがとうございました。別の条件が必要な場合:ヒット= 100?だから、ヒット数が10以上、ヒット数が30未満、ヒット数が100のレコードを選択したいのですか?その後、どんな辞書になりますか? {"ヒット":{"$ gt":10、 "$ lt":30 ... ???}}私は思う "イク"(等しい)関数はありません – KennyPowers

+0

私の前のコメントは、愚かな:)あなたの助けに感謝します。 – KennyPowers

関連する問題