How do you do the equivalent of
SELECT
MIN(Id) AS MinId
FROM
Table
with MongoDB?
It looks like I will have to use MapReduce but I can't find any example that shows how to do this.
You can use a combination of sort
and limit
to emulate min
:
> db.foo.insert({a: 1})
> db.foo.insert({a: 2})
> db.foo.insert({a: 3})
> db.foo.find().sort({a: 1}).limit(1)
{ "_id" : ObjectId("4df8d4a5957c623adae2ab7e"), "a" : 1 }
sort({a: 1})
is an ascending (minimum-first) sort on the a
field, and we then only return the first document, which will be the minimum value for that field.
EDIT: note that this is written in the mongo shell, but you can do the same thing from C# or any other language using the appropriate driver methods.