Thanks for the reply. The reason I’m not doing it this way is that there could be tens of thousands of updates when rebuilding counters for the whole data set.

Often I can reduce the number of parents to be rebuilt, but when the initial query for that reduction would be a large array of ObjectIds, I opt for a full rebuild instead. I figured the $merge approach would be more performant than this kind of iteration, but it’s fair to say that I haven’t compared performance between the two methods. I will look at doing so, but really my post here was hoping for a best practice technique that I didn’t know about.