私はmongoドキュメントを持っています:
{ "_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 } ] }
配列「fav」の最下位要素を削除するには、次の Python コードを使用します。
db.people.update({"fav":{"type":"t2", "weight":lowest}}, {"$pull":{"fav"{"type":"t2", "weight":lowest}}})
variablelowest
は 6.4615 から 35.8742 の間の最小値です。
問題は、このコードが何もしないことです。エラーはなく、値は配列から削除されません。しかし、mongo シェルで同じコードを書くと、結果は肯定的です。
残念ながら、pymongo と mongo での私の経験はあまり良くありません。したがって、誰かが問題が何であるかを知っていれば、それは素晴らしいことです。