MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mongoengine, recuperando solo parte di un MapField

Vedo che c'è un ticket per questo:https://github.com/hmarr/mongoengine/ problemi/508

Funziona per me ecco un esempio di test case:

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)