The very first consideration when choosing a battery pack is ensuring that it can handle the current draw of your motor controller. If you have a 40A motor controller, but your battery is only rated to deliver 25A max, then either the BMS circuit will shut off the battery at full throttle, or the battery will be stressed and have reduced cycle life. The converse, having a battery that has a higher current rating than what your controller will draw, is no problem at all. In fact, it can be quite beneficial.
The next consideration is ensuring that the battery is large enough for your required travel range; it's no fun having a battery go flat before the end of your trip. In order to determine the range that you will get from a given battery, you need to know both the watt-hour capacity of the battery, and how much energy you use per kilometer. Sounds complicated? Not really. As a rule of thumb most people riding an ebike at average speeds consume about 10 Wh/km from their battery, and this makes the math very easy. If you have a 400 watt-hour battery, you can expect a range of 40km. A 720 watt-hour battery? ~72km
Of course, if you go really fast or are pulling an extra load, then this mileage will be worse, like 12-15 wh/km. On the other hand, if you use the motor more sparingly, then you can easily stretch it down to 6-8 wh/km.
It makes very little difference whether you have a small geared motor, a large direct drive motor, or a mid-drive motor. The mileage and range figures for a given battery have to do with how you use the ebike, not which motor system is on the bike.
We're Here to Help