new AggregationCursor(){AggregationCursor}
Creates a new Aggregation Cursor instance (INTERNAL TYPE, do not instantiate directly)
Fires:
- AggregationCursor#event:data
- AggregationCursor#event:end
- AggregationCursor#event:close
- AggregationCursor#event:readable
Returns:
AggregationCursor instance.Extends
Methods
-
batchSize(value){AggregationCursor}
-
Set the batch size for the cursor.
Name Type Description value
number The number of documents to return per batch. See aggregation documentation.
Throws:
-
Clone the cursor
-
close(callback){Promise}
-
Close the cursor, sending a AggregationCursor command and emitting close.
Name Type Description callback
AggregationCursor~resultCallback optional The result callback.
Returns:
Promise if no callback passed
-
each(callback){null}
-
Iterates over all the documents for this cursor. As with {cursor.toArray},
not all of the elements will be iterated if this cursor had been previously accessed.
In that case, {cursor.rewind} can be used to reset the cursor. However, unlike
{cursor.toArray}, the cursor will only hold a maximum of batch size elements
at any given time if batch size is specified. Otherwise, the caller is responsible
for making sure that the entire result can fit the memory.Name Type Description callback
AggregationCursor~resultCallback The result callback.
- Deprecated
- Yes
Throws:
-
explain(verbosity, callback){Promise}
-
Execute the explain for the cursor
For backwards compatibility, a verbosity of true is interpreted as "allPlansExecution"
and false as "queryPlanner". Prior to server version 3.6, aggregate()
ignores the verbosity parameter and executes in "queryPlanner".Name Type Default Description verbosity
'queryPlanner' | 'queryPlannerExtended' | 'executionStats' | 'allPlansExecution' | boolean true optional An optional mode in which to run the explain.
callback
AggregationCursor~resultCallback optional The result callback.
Returns:
Promise if no callback passed
-
forEach(iterator, callback){null}
-
Iterates over all the documents for this cursor using the iterator, callback pattern.
Name Type Description iterator
AggregationCursor~iteratorCallback The iteration callback.
callback
AggregationCursor~endCallback The end callback.
Throws:
-
geoNear(document){AggregationCursor}
-
Add a geoNear stage to the aggregation pipeline
Name Type Description document
object The geoNear stage document.
-
group(document){AggregationCursor}
-
Add a group stage to the aggregation pipeline
Name Type Description document
object The group stage document.
-
hasNext(callback){Promise}
-
Check if there is any document still available in the cursor
Name Type Description callback
AggregationCursor~resultCallback optional The result callback.
Throws:
Returns:
Promise if no callback passed
-
isClosed(){boolean}
-
Is the cursor closed
-
limit(value){AggregationCursor}
-
Add a limit stage to the aggregation pipeline
Name Type Description value
number The state limit value.
-
lookup(document){AggregationCursor}
-
Add a lookup stage to the aggregation pipeline
Name Type Description document
object The lookup stage document.
-
match(document){AggregationCursor}
-
Add a match stage to the aggregation pipeline
Name Type Description document
object The match stage document.
-
maxTimeMS(value){AggregationCursor}
-
Add a maxTimeMS stage to the aggregation pipeline
Name Type Description value
number The state maxTimeMS value.
-
next(callback){Promise}
-
Get the next available document from the cursor, returns null if no more documents are available.
Name Type Description callback
AggregationCursor~resultCallback optional The result callback.
Throws:
Returns:
Promise if no callback passed
-
out(destination){AggregationCursor}
-
Add a out stage to the aggregation pipeline
Name Type Description destination
number The destination name.
-
inherited pause(){null}
-
This method will cause a stream in flowing-mode to stop emitting data events. Any data that becomes available will remain in the internal buffer.
-
inherited pipe(destination, options){null}
-
This method pulls all the data out of a readable stream, and writes it to the supplied destination, automatically managing the flow so that the destination is not overwhelmed by a fast readable stream.
Name Type Description destination
Writable The destination for writing data
options
object optional Pipe options
-
project(document){AggregationCursor}
-
Add a project stage to the aggregation pipeline
Name Type Description document
object The project stage document.
-
inherited read(size){String|Buffer|null}
-
The read() method pulls some data out of the internal buffer and returns it. If there is no data available, then it will return null.
Name Type Description size
number Optional argument to specify how much data to read.
-
redact(document){AggregationCursor}
-
Add a redact stage to the aggregation pipeline
Name Type Description document
object The redact stage document.
-
inherited resume(){null}
-
This method will cause the readable stream to resume emitting data events.
-
rewind(){AggregationCursor}
-
Resets the cursor
-
inherited setEncoding(encoding){null}
-
Call this function to cause the stream to return strings of the specified encoding instead of Buffer objects.
Name Type Description encoding
string The encoding to use.
-
skip(value){AggregationCursor}
-
Add a skip stage to the aggregation pipeline
Name Type Description value
number The state skip value.
-
sort(document){AggregationCursor}
-
Add a sort stage to the aggregation pipeline
Name Type Description document
object The sort stage document.
-
toArray(callback){Promise}
-
Returns an array of documents. The caller is responsible for making sure that there
is enough memory to store the results. Note that the array only contain partial
results when this cursor had been previously accessed. In that case,
cursor.rewind() can be used to reset the cursor.Name Type Description callback
AggregationCursor~toArrayResultCallback optional The result callback.
Throws:
Returns:
Promise if no callback passed
-
inherited unpipe(destination){null}
-
This method will remove the hooks set up for a previous pipe() call.
Name Type Description destination
Writable optional The destination for writing data
-
inherited unshift(chunk){null}
-
This is useful in certain cases where a stream is being consumed by a parser, which needs to "un-consume" some data that it has optimistically pulled out of the source, so that the stream can be passed on to some other party.
Name Type Description chunk
Buffer | string Chunk of data to unshift onto the read queue.
-
unwind(field){AggregationCursor}
-
Add a unwind stage to the aggregation pipeline
Name Type Description field
string | object The unwind field name or stage document.
-
inherited wrap(stream){null}
-
Versions of Node prior to v0.10 had streams that did not implement the entire Streams API as it is today. (See "Compatibility" below for more information.)
Name Type Description stream
Stream An "old style" readable stream.
Type Definitions
-
endCallback(error)
-
The callback error format for the forEach iterator method
Name Type Description error
MongoError An error instance representing the error during the execution.
-
iteratorCallback(doc)
-
The callback format for the forEach iterator method
Name Type Description doc
Object An emitted document for the iterator
-
resultCallback(error, result)
-
The callback format for results
Name Type Description error
MongoError An error instance representing the error during the execution.
result
object | null The result object if the command was executed successfully.
-
toArrayResultCallback(error, documents)
-
The callback format for results
Name Type Description error
MongoError An error instance representing the error during the execution.
documents
Array.<object> All the documents the satisfy the cursor.
Events
-
AggregationCursor stream close event
Type:
- null
-
AggregationCursor stream data event, fired for each document in the cursor.
Type:
- object
-
AggregationCursor stream end event
Type:
- null
-
readable
-
AggregationCursor stream readable event
Type:
- null