Updating aggregation stored on a collection

I am looking to update expensive aggregation on continual basis. I suspect that simply rerunning aggregation wouldn’t merely do whats necessary to update the collection, since for example $out operator reference doesn’t make any claims about performance of overwriting a collection. I’m hopefully wrong, as I then would have to be writing silly script for committing series of separate operations.

As a sidenote, if I were to do something like make a relational table with _ids of two other collections, from aggregation, they wouldn’t inherit default indexes of originating tables right?