OptionalbsonOptionalcheckthe serializer will check if keys are valid.
OptionalenableEnable utf8 validation when deserializing BSON documents. Defaults to true.
Optionalfieldsallow to specify if there what fields we wish to return as unserialized raw buffer.
Optionalignoreserialize will not emit undefined fields
note that the driver sets this to false
Optionalpromotewhen deserializing a Binary will return it as a node.js Buffer instance.
Optionalpromotewhen deserializing a Long will fit it into a Number if it's smaller than 53 bits.
Optionalpromotewhen deserializing will promote BSON values to their Node.js closest equivalent types.
OptionalrawEnabling 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.
OptionalreadSpecify a read concern for the collection. (only MongoDB 3.2 or higher supported)
OptionalreadThe preferred read preference (ReadPreference.PRIMARY, ReadPreference.PRIMARY_PREFERRED, ReadPreference.SECONDARY, ReadPreference.SECONDARY_PREFERRED, ReadPreference.NEAREST).
Optionalserializeserialize the javascript functions
Optional ExperimentaltimeoutMSSpecifies the time an operation will run until it throws a timeout error
Optionalusewhen deserializing a Long return as a BigInt.
OptionalwriteWrite Concern as an object
return BSON regular expressions as BSONRegExp instances.