动态命名键Mongoengine



如何创建一个动态的mongoengine密钥?这样,我就可以按名称进行查询。下面是我的目标:

{
"joe": {
"score": 20
},
"bob": {
"score": 30
}
...
}

所以模型应该是这样的:

class user{name}(EmbeddedDocument):
score = IntField()
class users(Document):
user(EmbeddedDocumentField)
score = IntField()

是否有可能实现它与蒙古引擎?

DictField可能会帮助您到达那里,见下面

from mongoengine import *
connect()

class UserScore(EmbeddedDocument):
score = IntField()

class Simple(Document):
mapping = DictField(field=EmbeddedDocumentField(UserScore))
e = Simple()
e.mapping["John"] = UserScore(score=5)
e.mapping["Bob"] = UserScore(score=10)
e.save()
# print the raw objects as stored in mongo
print(list(Simple.objects.as_pymongo()) # [{'_id': ObjectId('603cc7bca206e448e82c7437'), 'mapping': {'John': {'score': 5}, 'Bob': {'score': 10}}}]

最新更新