3
我有一個蒙戈文件:
{ "_id" : 0, "name" : "Vasya", "fav" : [ { "type" : "t1", "weight" : 1.4163 }, { "type" : "t2", "weight" : 11.7772 }, { "type" : "t2", "weight" : 6.4615 }, { "type" : "homework", "score" : 35.8742 } ] }
對於數組 「最愛」 中刪除最低的元素,我用下面的Python代碼:
db.people.update({"fav":{"type":"t2", "weight":lowest}}, {"$pull":{"fav"{"type":"t2", "weight":lowest}}})
其中變量lowest
是最低值在6.4615和35.8742之間。
問題是這段代碼什麼都不做。沒有錯誤,並且值不會從數組中刪除。但是如果我在mongo shell中寫入相同的代碼,結果是肯定的。
不幸的是我在pymongo和mongo上的經驗並不好。所以如果有人知道問題是什麼,那會很好。
你能打印出什麼「最低」的確切值在Python更新調用之前?我懷疑可能會出現某種類型的浮點比較問題。 –
打印出來顯示我浮動數字值 – user1837062
這究竟是什麼?它是否與您在文檔中顯示的值完全匹配? –