MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Mongoengine, recuperando apenas parte de um MapField


Vejo que há um ticket para isso:https://github.com/hmarr/mongoengine/ questões/508

Funciona para mim aqui está um exemplo de caso de teste:
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)