Optional
allowOptional
authdbOptional
batchThe number of documents to return per batch. See aggregation documentation.
Optional
bsonreturn BSON regular expressions as BSONRegExp instances.
Optional
bypassAllow driver to bypass schema validation.
Optional
checkthe serializer will check if keys are valid.
Optional
collationSpecify collation.
Optional
commentComment to apply to the operation.
In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.
In server versions 4.4 and above, 'comment' can be any valid BSON type.
Optional
cursorReturn the query as cursor, on 2.6 > it returns as a real cursor on pre 2.6 it returns as an emulated cursor.
Optional
dbOptional
enableEnable utf8 validation when deserializing BSON documents. Defaults to true.
Optional
explainSpecifies the verbosity mode for the explain output.
Optional
fieldsallow to specify if there what fields we wish to return as unserialized raw buffer.
Optional
hintAdd an index selection hint to an aggregation command
Optional
ignoreserialize will not emit undefined fields
note that the driver sets this to false
Optional
letMap of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).
Optional
maxThe maximum amount of time for the server to wait on new documents to satisfy a tailable cursor query.
Optional
maxSpecifies a cumulative time limit in milliseconds for processing operations on the cursor. MongoDB interrupts the operation at the earliest following interrupt point.
Optional
noOptional
omitOptional
outOptional
promotewhen deserializing a Binary will return it as a node.js Buffer instance.
Optional
promotewhen deserializing a Long will fit it into a Number if it's smaller than 53 bits.
Optional
promotewhen deserializing will promote BSON values to their Node.js closest equivalent types.
Optional
rawEnabling the raw option will return a Node.js Buffer which is allocated using allocUnsafe API. See this section from the Node.js Docs here for more detail about what "unsafe" refers to in this context. If you need to maintain your own editable clone of the bytes returned for an extended life time of the process, it is recommended you allocate your own buffer and clone the contents:
const raw = await collection.findOne({}, { raw: true });
const myBuffer = Buffer.alloc(raw.byteLength);
myBuffer.set(raw, 0);
// Only save and use `myBuffer` beyond this point
Please note there is a known limitation where this option cannot be used at the MongoClient level (see NODE-3946).
It does correctly work at Db
, Collection
, and per operation the same as other BSON options work.
Optional
readSpecify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)
Optional
readThe preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).
Optional
retryShould retry failed writes
Optional
serializeserialize the javascript functions
Optional
sessionSpecify ClientSession for this command
Optional
Experimental
timeoutMSSpecifies the time an operation will run until it throws a timeout error
Optional
usewhen deserializing a Long return as a BigInt.
Optional
willOptional
writeWrite Concern as an object
allowDiskUse lets the server know if it can use disk to store temporary results for the aggregation (requires mongodb 2.6 >).