AggregationCursor
AggregationCursor()
Parameters
- agg «Aggregate»
- options «Object»
Inherits:
- «Readable»
An AggregationCursor is a concurrency primitive for processing aggregation results one document at a time. It is analogous to QueryCursor.
An AggregationCursor fulfills the Node.js streams3 API, in addition to several other mechanisms for loading documents from MongoDB one at a time.
Creating an AggregationCursor executes the model's pre aggregate hooks, but not the model's post aggregate hooks.
Unless you're an advanced user, do not instantiate this class directly. Use Aggregate#cursor()
instead.
AggregationCursor.prototype.addCursorFlag()
Parameters
- flag «String»
- value «Boolean»
Returns:
- «AggregationCursor» this
Adds a cursor flag. Useful for setting the noCursorTimeout
and tailable
flags.
AggregationCursor.prototype.close()
Parameters
- callback «Function»
Returns:
- «Promise»
Marks this cursor as closed. Will stop streaming and subsequent calls to next()
will error.
AggregationCursor.prototype.eachAsync()
Parameters
- fn «Function»
- [options] «Object»
- [options.parallel] «Number» the number of promises to execute in parallel. Defaults to 1.
- [callback] «Function» executed when all docs have been processed
Returns:
- «Promise»
Execute fn
for every document in the cursor. If fn
returns a promise, will wait for the promise to resolve before iterating on to the next one. Returns a promise that resolves when done.
AggregationCursor.prototype.map()
Parameters
- fn «Function»
Returns:
- «AggregationCursor»
Registers a transform function which subsequently maps documents retrieved via the streams interface or .next()
Example
// Map documents returned by `data` events
Thing.
find({ name: /^hello/ }).
cursor().
map(function (doc) {
doc.foo = "bar";
return doc;
})
on('data', function(doc) { console.log(doc.foo); });
// Or map documents returned by `.next()`
var cursor = Thing.find({ name: /^hello/ }).
cursor().
map(function (doc) {
doc.foo = "bar";
return doc;
});
cursor.next(function(error, doc) {
console.log(doc.foo);
});
AggregationCursor.prototype.next()
Parameters
- callback «Function»
Returns:
- «Promise»
Get the next document from this cursor. Will return null
when there are no documents left.
© 2010 LearnBoost
Licensed under the MIT License.
https://mongoosejs.com/docs/api/aggregationcursor.html