Flera uppdateringar kan utföras på samma dokument, så länge som dessa uppdateringar inte kommer i konflikt (därav felet "har motstridiga mods i uppdateringen").
Eftersom "$push" :{"bugs" :[{"name":"bug1", "count":1}]} och "$inc" :{"bugs.0.count" :1} båda försöker ändra samma del av dokumentet (nämligen "buggar"-arrayen), de kommer i konflikt.
Flera uppdateringar kan kombineras om var och en påverkar olika delar av dokumentet:
till exempel:
> db.test.drop()
true
> db.test.save({ "_id" : 1, "name" : "albert", "bugs" : [ ] })
> db.test.update({"name":"albert"}, {"$pushAll" : {"bugs" : [{"name":"bug1", "count":1}]}, "$inc" : {"increment" : 1}, $set:{"note":"Here is another field."}})
> db.test.find()
{ "_id" : 1, "bugs" : [ { "name" : "bug1", "count" : 1 } ], "increment" : 1, "name" : "albert", "note" : "Here is another field." }
>
Uppdateringen innehöll tre olika operationer ($pushAll, $inc och $set), men kunde slutföras framgångsrikt, eftersom varje operation påverkade en annan del av dokumentet.
Jag inser att detta inte är exakt vad du hoppades göra, men förhoppningsvis kommer det att ge dig lite bättre förståelse för hur uppdateringar fungerar, och kanske ge några idéer om hur dina uppdateringar och/eller dokument kan omstruktureras för att utföra den funktionalitet som din ansökan kräver. Lycka till.