MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Erforderliche Felder aus Dokument in Mongoengine abrufen?

Sie können die Eigenschaft Class._fields durchlaufen.

Wenn Ihre Klasse Benutzer heißt, können Sie Folgendes tun:

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

Um eine sortierte Liste basierend auf der Erstellung zu erhalten, können Sie den Erstellungszähler wie folgt verwenden:

>>> 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']