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

¿Obtener los campos obligatorios del Documento en mongoengine?

Puede recorrer la propiedad Class._fields.

Si su clase se llamara Usuario, podría hacer esto:

>>> [k for k,v in User._fields.iteritems() if v.required]
['joinDate', 'password', 'nickName', 'lastVisited']

Para obtener una lista ordenada basada en la creación, puede usar el contador de creación así:

>>> from operator import itemgetter
>>> required_fields = ((v.creation_counter, k) for k,v in User._fields.iteritems() if v.required)
>>> sorted_required_fields = map(itemgetter(1), sorted(required_fields, key=itemgetter(0)))
>>> sorted_required_fields
['nickName', 'password', 'joinDate', 'lastVisited']