可选allowallowDiskUse lets the server know if it can use disk to store temporary results for the aggregation (requires mongodb 2.6 >).
可选authdb可选batchThe number of documents to return per batch. See aggregation documentation.
可选bsonreturn BSON regular expressions as BSONRegExp instances.
可选bypassAllow driver to bypass schema validation in MongoDB 3.2 or higher.
可选checkthe serializer will check if keys are valid.
可选collationSpecify collation.
可选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.
可选cursorReturn the query as cursor, on 2.6 > it returns as a real cursor on pre 2.6 it returns as an emulated cursor.
可选db可选enableEnable utf8 validation when deserializing BSON documents. Defaults to true.
可选explainSpecifies the verbosity mode for the explain output.
可选fieldsallow to specify if there what fields we wish to return as unserialized raw buffer.
可选hintAdd an index selection hint to an aggregation command
可选ignoreserialize will not emit undefined fields (default:true)
可选letMap of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).
可选limitThe maximum amounts to count before aborting.
可选maxThe maximum amount of time for the server to wait on new documents to satisfy a tailable cursor query.
可选maxspecifies a cumulative time limit in milliseconds for processing operations on the cursor. MongoDB interrupts the operation at the earliest following interrupt point.
可选no可选omit可选out可选promotewhen deserializing a Binary will return it as a node.js Buffer instance.
可选promotewhen deserializing a Long will fit it into a Number if it's smaller than 53 bits.
可选promotewhen deserializing will promote BSON values to their Node.js closest equivalent types.
可选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.
可选readSpecify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)
可选readThe preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).
可选retryShould retry failed writes
可选serializeserialize the javascript functions (default:false).
可选sessionSpecify ClientSession for this command
可选skipThe number of documents to skip.
可选usewhen deserializing a Long will return as a BigInt.
可选will可选writeWrite Concern as an object
BSON Serialization options.