API 参考
    正在准备搜索索引...

    接口 ChangeStreamOptions

    Options that can be passed to a ChangeStream. Note that startAfter, resumeAfter, and startAtOperationTime are all mutually exclusive, and the server will error if more than one is specified.

    interface ChangeStreamOptions {
        allowDiskUse?: boolean;
        authdb?: string;
        batchSize?: number;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        cursor?: Document;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike;
        fieldsAsRaw?: Document;
        fullDocument?: string;
        fullDocumentBeforeChange?: string;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        out?: string;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        resumeAfter?: unknown;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        showExpandedEvents?: boolean;
        startAfter?: unknown;
        startAtOperationTime?: Timestamp;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
    }

    层级

    索引

    属性

    allowDiskUse?: boolean

    allowDiskUse lets the server know if it can use disk to store temporary results for the aggregation (requires mongodb 2.6 >).

    authdb?: string
    batchSize?: number

    The number of documents to return per batch.

    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation in MongoDB 3.2 or higher.

    checkKeys?: boolean

    the serializer will check if keys are valid.

    collation?: CollationOptions

    Specify collation.

    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.

    cursor?: Document

    Return the query as cursor, on 2.6 > it returns as a real cursor on pre 2.6 it returns as an emulated cursor.

    dbName?: string
    enableUtf8Validation?: boolean

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

    Specifies the verbosity mode for the explain output.

    fieldsAsRaw?: Document

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

    fullDocument?: string

    Allowed values: 'updateLookup', 'whenAvailable', 'required'.

    When set to 'updateLookup', the change notification for partial updates will include both a delta describing the changes to the document as well as a copy of the entire document that was changed from some time after the change occurred.

    When set to 'whenAvailable', configures the change stream to return the post-image of the modified document for replace and update change events if the post-image for this event is available.

    When set to 'required', the same behavior as 'whenAvailable' except that an error is raised if the post-image is not available.

    fullDocumentBeforeChange?: string

    Allowed values: 'whenAvailable', 'required', 'off'.

    The default is to not send a value, which is equivalent to 'off'.

    When set to 'whenAvailable', configures the change stream to return the pre-image of the modified document for replace, update, and delete change events if it is available.

    When set to 'required', the same behavior as 'whenAvailable' except that an error is raised if the pre-image is not available.

    hint?: Hint

    Add an index selection hint to an aggregation command

    ignoreUndefined?: boolean

    serialize will not emit undefined fields (default:true)

    let?: Document

    Map of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).

    maxAwaitTimeMS?: number

    The maximum amount of time for the server to wait on new documents to satisfy a change stream query.

    maxTimeMS?: number

    specifies a cumulative time limit in milliseconds for processing operations on the cursor. MongoDB interrupts the operation at the earliest following interrupt point.

    noResponse?: boolean
    omitReadPreference?: boolean
    out?: string
    promoteBuffers?: boolean

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

    promoteLongs?: boolean

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

    promoteValues?: boolean

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

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

    resumeAfter?: unknown

    Allows you to start a changeStream after a specified event.

    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions (default:false).

    session?: ClientSession

    Specify ClientSession for this command

    showExpandedEvents?: boolean

    When enabled, configures the change stream to include extra change events.

    • createIndexes
    • dropIndexes
    • modify
    • create
    • shardCollection
    • reshardCollection
    • refineCollectionShardKey
    startAfter?: unknown

    Similar to resumeAfter, but will allow you to start after an invalidated event.

    startAtOperationTime?: Timestamp

    Will start the changeStream after the specified operationTime.

    useBigInt64?: boolean

    when deserializing a Long will return as a BigInt.

    willRetryWrite?: boolean