MongoDB Aggregate Stream
A wrapper around MongoDB's .aggregate()
function:
- Returns a proper stream
- Easier pipeline building
- Return promises
This is based on maggregate which is not up to date with MongoDB 2.6+ and friends.
API
var aggregate = ; // return all the results at once // as a promise// pipeline... // as a streamhttp
aggregate(collection, [options])
Return a new aggregation instance with options. See options: http://mongodb.github.io/node-mongodb-native/api-generated/collection.html#aggregate
.set(key, value)
Set an option after initialization.
.transform(fn)
Manipulate each document before returning them.
.[operators](obj)
Each operator is its own method. See: http://docs.mongodb.org/manual/meta/aggregation-quick-reference/#aggregation-operator-quick-reference
.toArray([cb])
Return all the results as a single array. If no callback is supplied, a promise is returned.
// pipeline...
.explain([cb])
Return the "explain" on the query. If no callback is supplied, a promise is returned.
// pipeline...
.destroy()
Destroy the stream. Use this to prevent any leaks.
http
.then(resolve, reject)
A wrapper around .toArray()
that can be implicitly called by a control flow engine.
This makes each instance a "promise",
but you shouldn't be using .then()
directly - use .toArray()
instead.