MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Pymongo-Fehler für ArrayFilters zum Aktualisieren mehrerer Unterdokumente

Schaut man sich den Quellcode von pymongo an , werden Sie feststellen, dass das update Funktion erhält keinen Parameter über arrayFilters , also müssen Sie update_one verwenden , die einen optionalen Parameter namens array_filters akzeptieren würde :

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}}]
)