Nếu bạn nhìn vào mã nguồn của pymongo , bạn sẽ thấy rằng update hàm sẽ không nhận bất kỳ tham số nào về arrayFilters , vì vậy bạn phải sử dụng update_one , sẽ chấp nhận một tham số tùy chọn có tên 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}}]
)