In the same documentation, you can see that on has a default value that depends on the output collection.
The default value for on depends on the output collection:
If the output collection does not exist, the on identifier must be and defaults to the _id field. The corresponding unique _id index is automatically created.
If the existing output collection is unsharded, the on identifier defaults to the _id field.
If the existing output collection is a sharded collection, the on identifier defaults to all the shard key fields and the _id field. If specifying a different on identifier, the on must contain all the shard key fields.