sql >> Database teknologi >  >> NoSQL >> MongoDB

Pymongo-fejl for ArrayFilters til at opdatere flere underdokumenter

Hvis du ser på kildekoden til pymongo , vil du opdage, at update funktion vil ikke modtage nogen parameter om arrayFilters , så du skal bruge update_one , som ville acceptere en valgfri parameter ved navn 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}}]
)


  1. MongoDB foretrukne skema til indlejrede samlinger. dokumenter vs. arrays

  2. Flytter MongoDBs datamappe?

  3. Sådan sletter du N antal dokumenter i mongodb

  4. Hvordan forespørger man direkte indlejret felt uden at angive overordnet felt?