Interface AbstractCursorOptions

Hierarchy

Properties

awaitData?: boolean

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.

batchSize?: number

Specifies the number of documents to return in each response from MongoDB

bsonRegExp?: boolean

return BSON regular expressions as BSONRegExp instances.

Default Value

false

checkKeys?: boolean

the serializer will check if keys are valid.

Default Value

false

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.

enableUtf8Validation?: boolean

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

fieldsAsRaw?: Document

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

Default Value

null

ignoreUndefined?: boolean

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

Default Value

true

maxAwaitTimeMS?: number

When applicable maxAwaitTimeMS controls the amount of time subsequent getMores that a cursor uses to fetch more data should take. (ex. cursor.next())

maxTimeMS?: number

When applicable maxTimeMS controls the amount of time the initial command that constructs a cursor should take. (ex. find, aggregate, listCollections)

noCursorTimeout?: boolean
promoteBuffers?: boolean

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

Default Value

false

promoteLongs?: boolean

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

Default Value

true

promoteValues?: boolean

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

Default Value

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:

Example

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

Remarks

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
readPreference?: ReadPreferenceLike
serializeFunctions?: boolean

serialize the javascript functions

Default Value

false

session?: ClientSession
tailable?: boolean

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

useBigInt64?: boolean

when deserializing a Long return as a BigInt.

Default Value

false

Generated using TypeDoc