Si vous examinez le code source de pymongo
, vous constaterez que la update
la fonction ne recevra aucun paramètre sur arrayFilters
, vous devez donc utiliser update_one
, qui accepterait un paramètre facultatif nommé array_filters
:
db.dept.update_one(
{"emps._id" : {"$gte" : 1111, "$lte" : 1114}},
{"$inc" : {"emps.$[idx].salary" : 20000}},
upsert=True,
array_filters=[{"idx._id" : {"$gte" : 1111, "$lte" : 1114}}]
)