请查看以下代码行和结果:
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 集合对象。
是否有设置或查询方法,以便我为上述两个查询获得相同的结果?
他们本质上使用的是同一个字典(在存在的意义上d1 == d2
)True
。我正在尝试执行以下操作:在将记录插入数据库之前,我检查是否已经存在具有正在添加的确切值组合的记录。如果是这样,那么我不想创造新的记录。但是由于上面显示的行为,即使它确实存在并且将重复记录添加到数据库中(当然,具有不同的_id但所有其他值都是相同的,我更喜欢),也有可能得到该记录不存在没有那个)。
预先感谢您的帮助。