Suppose I want to search through a collection, scan the returned result set and return some transformation of it. I've tried the following code:
db.my_collection.find({timestamp : {$gt: 1343032491799}}, {_id:0,sid:1}).limit(20).forEach(function(element) { print(element.sid); })
Ok, it worked well. To the question: how can I accumulate the results (sid
s) into an array instead of just printing them?
Update: ruby-style one-liner is preferred (but not required) of course
Call
toArray
on the cursor instead offorEach
:UPDATE
Seems you can skip the
toArray
and go right to themap
as the cursor provides that method directly:You can use a variable in the parent scope.
Push the id's to a array: