0

コレクションに次のデータがあります。

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

ヒット数が 10 を超え、ヒット数が 30 未満のレコードを選択したいのですが、Python を使用してクエリを生成しているので、次のようにします。

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

だから私は辞書で次の値を取得しようとしています: {"hits": {">": 10}, "hits": {"<": 30}} そして、次のようにします:

db.test.find(dict)

2 行目 (ヒット > 10 およびヒット < 30) のみを取得したかったのですが、同じキーで dict を更新すると基本的に前のものを書き換えるため、最初の行も取得します。ここで私にできることはありますか?

ありがとう

4

1 に答える 1

2

あなたがしなければなりません:

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

更新呼び出しの代わりに。

于 2012-04-19T10:06:03.210 に答える