次のコード行と結果を確認してください。
import pymongo
d1 = {'p': 0.5, 'theta': 100, 'sigma': 20}
d2 = {'theta': 100, 'sigma': 20, 'p': 0.5}
I get the following results:
d1 == d2 // Returns True
collectn.find({'goods.H': d1}).count() // Returns 33
collectn.find({'goods.H': d2}).count() // Returns 2
ここで、collectn
はMongodbコレクションオブジェクトです。
上記の2つのクエリで同じ結果が得られるようにクエリを実行する設定または方法はありますか?
彼らは本質的に同じ辞書を使用しています(あるという意味でd1 == d2
)True
。私は次のことを行おうとしています。データベースにレコードを挿入する前に、追加されている正確な値の組み合わせを持つレコードがすでに存在するかどうかを確認します。もしそうなら、私は新しいレコードを作りたくありません。しかし、上記の動作により、レコードが存在し、重複するレコードがデータベースに追加された場合でも、レコードが存在しないようにすることが可能になります(もちろん、_idは異なりますが、他のすべての値は同じです。それを持っていない)。
よろしくお願いします。