2012-12-07 5 views
14

Wie kann ich eine schnelle find() oder FindOne tun() mit mongoengine, Ich habe dies schon aber es scheint nicht der richtige Weg zu sein:find() und FindOne() in mongoengine

Cars.objects()._collection.find_one({'model':2013}) 

Antwort

24

für find() können Sie tun:

Cars.objects(model=2013) 

Und für find_one() Sie tun können:

Cars.objects.get(model=2013) 

ein Ergebnis abzurufen, die uniq sein sollte Verwenden Sie in der Sammlung get(). Dadurch wird DoesNotExist ausgelöst, wenn kein Dokument mit der Abfrage übereinstimmt, und MultipleObjectsReturned, wenn mehr als ein Dokument der Abfrage entspricht.

Else, wenn mehrere Datensätze vorhanden ist, einfach zu begrenzen, wie:

Cars.objects(model=2013)[0]