Database

[{"id":1,x:[1,1,-1,-1,-1,-1,-1,1,1,1,-1,-1,-1,-1]},{"id":2,x:[1,-1,-1,1,1,1,-1]}]

Query

db.collection.aggregate([{"$set":{"x":{"$reduce":{"input":"$x","initialValue":{previous:0,acc:0,max:0},"in":{$let:{vars:{result:{"$cond":{"if":{"$and":[{"$lt":["$$this",0]},{"$lt":["$$value.previous",0]}]},"then":{"$add":["$$value.acc",1]},"else":{"$cond":{"if":{"$lt":["$$this",0]},"then":1,"else":0}}}}},in:{previous:"$$this",acc:"$$result",max:{"$cond":{"if":{$gt:["$$value.max","$$result"]},"then":"$$value.max","else":"$$result"}}}}}}}}},{"$set":{x:"$x.max"}}])

Result