私はflask
アプリでPointField
をupsert_one
で更新しようとしていました。しかし、常に新しい文書を挿入します。私は問題が私が渡しているクエリであることを知っています。質問するにはここをクリックPointField - MongoEngine
以下は私のモデルです。
class Location(db.Document):
location_name = db.StringField(required=True)
geoCoords = db.PointField()
更新クエリ。
Location.objects(geoCoords=loc["geoCoords"]).upsert_one(location_name=loc["location_name"], geoCoords=loc["geoCoords"])
#loc["geoCoords"] = [77.6309395,12.9539974]
また、get
を実行しようとしました。しかし、私は、エラーメッセージ"Location matching query does not exist."
以下のクエリを取得しています。
loc = Location.objects(geoCoords=[77.6309395,12.9539974]).get()
私のlocation
コレクションに次のエントリがあります。
> db.location.find()
{ "_id" : ObjectId("59c5019727bae70ad3259e67"), "geoCoords" : { "type" : "Point", "coordinates" : [ 77.6309395, 12.9539974 ] }, "location_name" : "Bengaluru" }
{ "_id" : ObjectId("59c5022d27bae70ad3259ea2"), "geoCoords" : { "type" : "Point", "coordinates" : [ 77.6309395, 12.9539974 ] }, "location_name" : "Bengaluru" }
>
PointFiled
のクエリに関する関連情報が見つかりませんでした。
'。したがって、 'update'も同様です。 – james