Database

[{_id:ObjectId("5a934e000102030405000000"),"name":"bob",age:40},{_id:ObjectId("5a934e000102030405000001"),"name":"sally",age:55},{_id:ObjectId("5a934e000102030405000002"),"name":"paul",age:21},{_id:ObjectId("5a934e000102030405000003"),"name":"peter",age:29},{_id:ObjectId("5a934e000102030405000004"),"name":"jack",age:81},{_id:ObjectId("5a934e000102030405000005"),"name":"april",age:25},{_id:ObjectId("5a934e000102030405000006"),"name":"sue",age:22}]

Query

db.collection.aggregate([{$setWindowFields:{sortBy:{_id:1},output:{incField:{$count:{},window:{documents:["unbounded","current"]}}}}}])

Result