在我的烧瓶应用程序中:
class places(db.Document):
meta = {
'collection': 'places',
'allow_inheritance': False,
}
name = db.StringField(max_length=200, required=True)
loc= db.GeoPointField(required=True)
x = places(loc=[-87,101], name="test")
places.save(x)
但是,我只想插入文件,如果它是新的,否则我想更新该行。 我不确定如何使用upsert / update。
我遇到一个错误,告诉我在更新前保存(我在我的烧瓶应用程序中使用mongoengine)。
答案 0 :(得分:0)
我认为你不能这样做。 但你可以尝试下一个:
首先尝试从db
获取对象place = places.objects(name="test").first()
if place:
#update here
place.loc = [88,102]
else:
#create new here
place = places(loc = [-87,101], name="test")
place.save()