Efficiency should be the same for both.
geoNear The main limitation is that, as a command, it can return the result with the maximum document size, since all agreed documents are returned in a single resulting document. It also requires that a distance field be added to each resulting document, which may or may not be a problem depending on your use.
$near is a query operator, so the results can be more than one document (they are still returned in one answer, but not in one document). You can also set the maximum number of documents using the query limit ().
I recommend users stick with $near unless they require diagnostics (such as distance or location) from the geoNear team.
Rob moore
source share