Bonjour,
Voici une requête mongodb qui fonctionne très bien et qui retourne des documents :
Je souhaite l'utiliser avec pymongo mais je ne trouve pas d'équivalent de $elemMatch en pymongo :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Restaurants qui ont des scores de grade C ET des scores strictement inférieurs à 30 : db.getCollection('restaurants').find({ 'grades': { $elemMatch: { 'grade': 'C', 'score': { $lt:30 } } } }, {'grades.grade': 1, "grades.score": 1} )
Voici le test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 req = collect.find({ '$elemMatch': { 'grades.grade': 'C', 'grades.score': {'$lt':30} }}, {'grades.grade': 1, "grades.score": 1} ).limit(1) for r in req: pprint.pprint(r) pass
Le message d'erreur suivant est retourné : pymongo.errors.OperationFailure: unknown top level operator: $elemMatch, full error.
Donc, problème.
Comment donc faire cette requête ?
Merci d'avance.
A+![]()
Partager