mongodb get count without repeating find

count, mongodb

Solution

I'm not sure which language you're using, but you can typically call a `count` method on the cursor that's the result of a `find` query and then use that same cursor to obtain the documents themselves.

Problem

When performing a query in MongoDb, I need to obtain a total count of all matches, along with the documents themselves as a limited/paged subset. I can achieve the goal with two queries, but I do not see how to do this with one query. I am hoping there is a mongo feature that is, in some sense, equivalent to SQL_CALC_FOUND_ROWS, as it seems like overkill to have to run the query twice. Any help would be great. Thanks! EDIT: Here is Java code to do the above. ``` DBCursor cursor = collection.find(searchQuery).limit(10); System.out.println("total objects = " + cursor.count()); ```

Original source