在我的燒瓶應用程序中,我使用的是MongoeEgine。我正嘗試將多個文檔插入到我的MongoDB中的位置集合中。多文檔插入使用mongoengine進入mongodb
我的文檔類定義爲
class places(db.Document):
name = db.StringField(max_length=200, required=True)
loc = db.GeoPointField(required=True)
def __unicode__(self):
return self.name
a=[]
a.append({"name" : 'test' , "loc":[-87,101]})
a.append({"name" : 'test' , "loc":[-88,101]})
x= places(a)
最後一條語句失敗
x= places(a)
TypeError: __init__() takes exactly 1 argument (2 given)
我也試過這個保存到我的實例
places.insert(x)
places.save(x)
都失敗。請幫忙。
謝謝。我怎麼能用這個做一個upsert。我想插入這些行,如果他們是新的,否則更新現有的行。有upsert = True標誌的Places.objects.upsert或Places.object.insert嗎? – user1340513 2013-03-03 08:47:17
@Ross是否有一些簡單的方法來避免* NotUniqueError *?我在某處閱讀PyMongo批量插入中使用* ordered *的地方,但我更願意使用Mongoengine。我知道_getCollection(),但我仍然寧願避免不直接訪問集合。我更喜歡使用Mongoengine語法:) – giliev 2016-11-01 23:48:43
@Ross上述哪一個操作是高效的,我的意思是它是save()操作還是批量插入操作。 – hkhr 2017-08-16 04:27:53