@Rups Your GetMongo should have a Limit, Batch Size, and Results Per FlowFile. Investigate using these to get the # of results you want per FlowFile. If you do not see these configurations investigate nifi 1.9 or greater.
I would recommend NOT using SplitJson to split results.
For putFile you need to update the filename to something unique per FlowFile to avoid the duplicate filename. For example something like:
filename = ${filename:append(now():format('yyyy-mm-dd hh:mm:ss'))}
or use the FlowFile's Filename:
filename = ${Filename}