Optional
awaitOptional
batchSpecifies the number of documents to return in each response from MongoDB
Optional
bsonreturn BSON regular expressions as BSONRegExp instances.
Optional
checkthe serializer will check if keys are valid.
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
enableEnable utf8 validation when deserializing BSON documents. Defaults to true.
Optional
fieldsallow to specify if there what fields we wish to return as unserialized raw buffer.
Optional
fullWhen true
, an array of index descriptions is returned.
When false
, the driver returns an object that with keys corresponding to index names with values
corresponding to the entries of the indexes' key.
For example, the given the following indexes:
[ { name: 'a_1', key: { a: 1 } }, { name: 'b_1_c_1' , key: { b: 1, c: 1 } }]
When full
is true
, the above array is returned. When full
is false
, the following is returned:
{
'a_1': [['a', 1]],
'b_1_c_1': [['b', 1], ['c', 1]],
}
Optional
ignoreserialize will not emit undefined fields
note that the driver sets this to false
Optional
maxWhen applicable maxAwaitTimeMS
controls the amount of time subsequent getMores
that a cursor uses to fetch more data should take. (ex. cursor.next())
Optional
maxWhen applicable maxTimeMS
controls the amount of time the initial command
that constructs a cursor should take. (ex. find, aggregate, listCollections)
Optional
noOptional
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
readOptional
readOptional
serializeserialize the javascript functions
Optional
sessionOptional
tailableBy default, MongoDB will automatically close a cursor when the client has exhausted all results in the cursor. However, for capped collections you may use a Tailable Cursor that remains open after the client exhausts the results in the initial cursor.
Optional
usewhen deserializing a Long return as a BigInt.
If awaitData is set to true, when the cursor reaches the end of the capped collection, MongoDB blocks the query thread for a period of time waiting for new data to arrive. When new data is inserted into the capped collection, the blocked thread is signaled to wake up and return the next batch to the client.