Interface FindOptions<TSchema>

interface FindOptions<TSchema> {
    allowDiskUse?: boolean;
    allowPartialResults?: boolean;
    authdb?: string;
    awaitData?: boolean;
    batchSize?: number;
    bsonRegExp?: boolean;
    checkKeys?: boolean;
    collation?: CollationOptions;
    comment?: unknown;
    dbName?: string;
    enableUtf8Validation?: boolean;
    explain?: ExplainVerbosityLike | ExplainCommandOptions;
    fieldsAsRaw?: Document;
    hint?: Hint;
    ignoreUndefined?: boolean;
    let?: Document;
    limit?: number;
    max?: Document;
    maxAwaitTimeMS?: number;
    maxTimeMS?: number;
    min?: Document;
    noCursorTimeout?: boolean;
    noResponse?: boolean;
    omitReadPreference?: boolean;
    oplogReplay?: boolean;
    projection?: Document;
    promoteBuffers?: boolean;
    promoteLongs?: boolean;
    promoteValues?: boolean;
    raw?: boolean;
    readConcern?: ReadConcernLike;
    readPreference?: ReadPreferenceLike;
    retryWrites?: boolean;
    returnKey?: boolean;
    serializeFunctions?: boolean;
    session?: ClientSession;
    showRecordId?: boolean;
    singleBatch?: boolean;
    skip?: number;
    sort?: Sort;
    tailable?: boolean;
    timeout?: boolean;
    timeoutMS?: number;
    useBigInt64?: boolean;
    willRetryWrite?: boolean;
}

Type Parameters

  • TSchema extends Document = Document

    Unused schema definition, deprecated usage, only specify FindOptions with no generic

Hierarchy (view full)

Properties

allowDiskUse?: boolean

Allows disk use for blocking sort operations exceeding 100MB memory. (MongoDB 3.2 or higher)

allowPartialResults?: boolean

For queries against a sharded collection, allows the command (or subsequent getMore commands) to return partial results, rather than an error, if one or more queried shards are unavailable.

authdb?: string
awaitData?: boolean

Specify if the cursor is a tailable-await cursor. Requires tailable to be true

batchSize?: number

Set the batchSize for the getMoreCommand when iterating over the query results.

bsonRegExp?: boolean

return BSON regular expressions as BSONRegExp instances.

false

checkKeys?: boolean

the serializer will check if keys are valid.

false

collation?: CollationOptions

Specify collation (MongoDB 3.4 or higher) settings for update operation (see 3.4 documentation for available fields).

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.

dbName?: string
enableUtf8Validation?: boolean

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

Specifies the verbosity mode for the explain output.

This API is deprecated in favor of collection.find().explain().

fieldsAsRaw?: Document

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

null

hint?: Hint

Tell the query to use specific indexes in the query. Object of indexes to use, {'_id':1}

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

limit?: number

Sets the limit of documents returned in the query.

max?: Document

The exclusive upper bound for a specific index

maxAwaitTimeMS?: number

The maximum amount of time for the server to wait on new documents to satisfy a tailable cursor query. Requires tailable and awaitData to be true

maxTimeMS?: number

Number of milliseconds to wait before aborting the query.

min?: Document

The inclusive lower bound for a specific index

noCursorTimeout?: boolean

The server normally times out idle cursors after an inactivity period (10 minutes) to prevent excess memory use. Set this option to prevent that.

noResponse?: boolean
omitReadPreference?: boolean
oplogReplay?: boolean

Option to enable an optimized code path for queries looking for a particular range of ts values in the oplog. Requires tailable to be true.

Starting from MongoDB 4.4 this flag is not needed and will be ignored.

projection?: Document

The fields to return in the query. Object of fields to either include or exclude (one of, not both), {'a':1, 'b': 1} or {'a': 0, 'b': 0}

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

returnKey?: boolean

If true, returns only the index keys in the resulting documents.

serializeFunctions?: boolean

serialize the javascript functions

false

session?: ClientSession

Specify ClientSession for this command

showRecordId?: boolean

Determines whether to return the record identifier for each document. If true, adds a field $recordId to the returned documents.

singleBatch?: boolean

Determines whether to close the cursor after the first batch. Defaults to false.

skip?: number

Set to skip N documents ahead in your query (useful for pagination).

sort?: Sort

Set to sort the documents coming back from the query. Array of indexes, [['a', 1]] etc.

tailable?: boolean

Specify if the cursor is tailable.

timeout?: boolean

Specify if the cursor can timeout.

timeoutMS?: number

Specifies the time an operation will run until it throws a timeout error

useBigInt64?: boolean

when deserializing a Long return as a BigInt.

false

willRetryWrite?: boolean