sql >> Databasteknik >  >> NoSQL >> MongoDB

Pymongo-fel för ArrayFilters för att uppdatera flera underdokument

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


  1. Rescue Timeout::Fel från Redis Gem (Ruby)

  2. Får skillnad på några sekunder från två datum i JavaScript

  3. ReactiveMongo:Hur man konverterar BSON som returneras av FindAndModify till JSON

  4. Upsert Array Elements matchande kriterier i ett MongoDB-dokument?