Interface AggregateOptions

interface AggregateOptions {
    allowDiskUse?: boolean;
    authdb?: string;
    batchSize?: number;
    bsonRegExp?: boolean;
    bypassDocumentValidation?: boolean;
    checkKeys?: boolean;
    collation?: CollationOptions;
    comment?: unknown;
    cursor?: Document;
    dbName?: string;
    enableUtf8Validation?: boolean;
    explain?: ExplainVerbosityLike;
    fieldsAsRaw?: Document;
    hint?: Hint;
    ignoreUndefined?: boolean;
    let?: Document;
    maxAwaitTimeMS?: number;
    maxTimeMS?: number;
    noResponse?: boolean;
    omitReadPreference?: boolean;
    out?: string;
    promoteBuffers?: boolean;
    promoteLongs?: boolean;
    promoteValues?: boolean;
    raw?: boolean;
    readConcern?: ReadConcernLike;
    readPreference?: ReadPreferenceLike;
    retryWrites?: boolean;
    serializeFunctions?: boolean;
    session?: ClientSession;
    useBigInt64?: boolean;
    willRetryWrite?: boolean;
    writeConcern?: WriteConcern | WriteConcernSettings;
}

Hierarchy (view full)

Properties

allowDiskUse?: boolean

allowDiskUse lets the server know if it can use disk to store temporary results for the aggregation (requires mongodb 2.6 >).

authdb?: string
batchSize?: number

The number of documents to return per batch. See aggregation documentation.

bsonRegExp?: boolean

return BSON regular expressions as BSONRegExp instances.

false

bypassDocumentValidation?: boolean

Allow driver to bypass schema validation.

checkKeys?: boolean

the serializer will check if keys are valid.

false

collation?: CollationOptions

Specify collation.

comment?: unknown

Comment 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.

cursor?: Document

Return the query as cursor, on 2.6 > it returns as a real cursor on pre 2.6 it returns as an emulated cursor.

dbName?: string
enableUtf8Validation?: boolean

Enable utf8 validation when deserializing BSON documents. Defaults to true.

Specifies the verbosity mode for the explain output.

fieldsAsRaw?: Document

allow to specify if there what fields we wish to return as unserialized raw buffer.

null

hint?: Hint

Add an index selection hint to an aggregation command

ignoreUndefined?: boolean

serialize will not emit undefined fields note that the driver sets this to false

true

let?: Document

Map of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).

maxAwaitTimeMS?: number

The maximum amount of time for the server to wait on new documents to satisfy a tailable cursor query.

maxTimeMS?: number

specifies a cumulative time limit in milliseconds for processing operations on the cursor. MongoDB interrupts the operation at the earliest following interrupt point.

noResponse?: boolean
omitReadPreference?: boolean
out?: string
promoteBuffers?: boolean

when deserializing a Binary will return it as a node.js Buffer instance.

false

promoteLongs?: boolean

when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

true

promoteValues?: boolean

when deserializing will promote BSON values to their Node.js closest equivalent types.

true

raw?: boolean

Enabling 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.

readConcern?: ReadConcernLike

Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

readPreference?: ReadPreferenceLike

The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

retryWrites?: boolean

Should retry failed writes

serializeFunctions?: boolean

serialize the javascript functions

false

session?: ClientSession

Specify ClientSession for this command

useBigInt64?: boolean

when deserializing a Long return as a BigInt.

false

willRetryWrite?: boolean

Write Concern as an object