MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

mongoengine - Requête sur ListField de EmbeddedDocumentField

Vous pouvez utiliser la notation intégrée ainsi que l'opérateur de requête pour "supérieur ou égal"

Hotel.objects(chambre__prix__gte=a)

Ou si vous avez besoin de convertir en entier :

Hotel.objects(chambre__prix__gte=int(math.floor(a)))

Si vous souhaitez projeter uniquement l'élément "matched", utilisez plutôt une requête brute directement sur le pilote :

Hotel._get_collection().find(
  { 'chambre.prix': { '$gte': int(math.floor(a)) } },
  { 'chambre.$': 1 }
)