sql >> Base de Datos >  >> NoSQL >> MongoDB

Mongoengine, recuperando solo parte de un MapField

Veo que hay un ticket para esto:https://github.com/hmarr/mongoengine/ problemas/508

Funciona para mí, aquí hay un caso de prueba de ejemplo:

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)