0
如果你試試這個代碼..你可以看到我有問題..Mongoengine,辭典鍵後場.. Mongoengine不能轉換字段名db_fields
class Embedded(EmbeddedDocument):
boxfluxInt = IntField(default=0, db_field='i')
meta = {'allow_inheritance': False}
class Test(Document):
boxflux = MapField(field=EmbeddedDocumentField(Embedded), db_field='x')
meta = {'collection': 'test',
'allow_inheritance': False}
Test.drop_collection()
newTestDoc = Test()
newTestDoc.boxflux['DICTIONARY_KEY'] = Embedded(boxfluxInt=1)
newTestDoc.save()
Test.objects.update_one(inc__boxflux__DICTIONARY_KEY__boxfluxInt=1)
MongoDB中的結果是一樣..
> db.test.findOne()
{
"_id" : ObjectId("4fbdbbc8c450190a50000001"),
"x" : {
"DICTIONARY_KEY" : {
"boxfluxInt" : 1,
"i" : 1
}
}
}
>
正如你所看到的,我打算用1 增加「x.DICTIONARY_KEY.i」,但結果是,即使我設置「boxfluxInt」的db_field爲「一個新的密鑰(boxfluxInt)創建我'
這是錯誤嗎?或者我錯了?
我覺得字典鍵(「DICTIONARY_KEY」),使轉換爲蒙戈風格分貝領域是不可能的..如果我是正確的..