Database

[{"_id":1,"price":1},{"_id":2,"price":2},{"_id":3,"price":3},{"_id":4,"price":4},{"_id":5,"price":5},{"_id":6,"price":6},{"_id":7,"price":7}]

Query

db.collection.aggregate([{$setWindowFields:{sortBy:{_id:1},output:{mean:{$push:"$price",window:{documents:[-4,0]}}}}},{$set:{mean:"$$REMOVE",field_new:{$cond:[{$gt:[{$size:"$mean"},4]},{$add:["$price",{$avg:"$mean"}]},"$$REMOVE"]}}}])

Result