Om du tittar på källkoden för pymongo
, kommer du att upptäcka att update
funktion kommer inte att ta emot någon parameter om arrayFilters
, så du måste använda update_one
, som skulle acceptera en valfri parameter med namnet 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}}]
)