Mongoengine中的DictField和MapField的区别

Mongoengine官方文档中的介绍

image.png

从官方文档可以看出MapFieldDictField的区别仅限于MapField的类型必须与特定字段类型相匹配。

一个例子带你看清真相

def test_only_with_mapfields(self):

    class BlogPost(Document):
        content = StringField()
        author = MapField(field=StringField())

    BlogPost.drop_collection()

    post = BlogPost(content='Had a good coffee today...', 
                    author={'name': "Ross", "age": "20"}).save()

    obj = BlogPost.objects.only('author__name',).get()

    self.assertEquals(obj.author['name'], "Ross")
    self.assertEquals(obj.author.get("age", None), None)

代码来源:https://stackoverflow.com/questions/10679458/mongoengine-retriving-only-some-of-a-mapfield

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容