diff --git a/docs/Next/assets/navigation.js b/docs/Next/assets/navigation.js index 11266ccbff..a7ebba567e 100644 --- a/docs/Next/assets/navigation.js +++ b/docs/Next/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file diff --git a/docs/Next/assets/search.js b/docs/Next/assets/search.js index b6b92ad240..1fa9811a98 100644 --- a/docs/Next/assets/search.js +++ b/docs/Next/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/Next/classes/BSON.BSONError.html b/docs/Next/classes/BSON.BSONError.html index 2dda134f67..2d65eb7e6b 100644 --- a/docs/Next/classes/BSON.BSONError.html +++ b/docs/Next/classes/BSON.BSONError.html @@ -1,4 +1,4 @@ -BSONError | mongodb

Class BSONError

Hierarchy (view full)

Constructors

constructor +BSONError | mongodb

Class BSONError

Hierarchy (view full)

Constructors

Properties

cause? message stack? @@ -7,14 +7,14 @@

Methods

Constructors

  • Parameters

    • message: string
    • Optionaloptions: {
          cause?: unknown;
      }
      • Optionalcause?: unknown

    Returns BSONError

Properties

cause?: unknown
message: string
stack?: string
stackTraceLimit: number

The Error.stackTraceLimit property specifies the number of stack frames +

Constructors

  • Parameters

    • message: string
    • Optionaloptions: {
          cause?: unknown;
      }
      • Optionalcause?: unknown

    Returns BSONError

Properties

cause?: unknown
message: string
stack?: string
stackTraceLimit: number

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

-

Accessors

  • get name(): string
  • Returns string

Methods

  • Creates a .stack property on targetObject, which when accessed returns +

Accessors

  • get name(): string
  • Returns string

Methods

  • Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

    const myObject = {};
    Error.captureStackTrace(myObject);
    myObject.stack; // Similar to `new Error().stack` @@ -34,5 +34,5 @@ This method can assist with determining if an error originates from the BSON library even if it does not pass an instanceof check against this class' constructor.

    Parameters

    • value: unknown

      any javascript value that needs type checking

      -

    Returns value is BSONError

Returns value is BSONError

diff --git a/docs/Next/classes/BSON.BSONOffsetError.html b/docs/Next/classes/BSON.BSONOffsetError.html index 5a9db63a7f..fbd9652478 100644 --- a/docs/Next/classes/BSON.BSONOffsetError.html +++ b/docs/Next/classes/BSON.BSONOffsetError.html @@ -1,4 +1,4 @@ -BSONOffsetError | mongodb

Class BSONOffsetErrorExperimental

Hierarchy (view full)

Constructors

constructor +BSONOffsetError | mongodb

Class BSONOffsetErrorExperimental

Hierarchy (view full)

Constructors

Properties

cause? message offset @@ -8,14 +8,14 @@

Methods

Constructors

  • Experimental

    Parameters

    • message: string
    • offset: number
    • Optionaloptions: {
          cause?: unknown;
      }
      • Optionalcause?: unknown

    Returns BSONOffsetError

Properties

cause?: unknown
message: string
offset: number
stack?: string
stackTraceLimit: number

The Error.stackTraceLimit property specifies the number of stack frames +

Constructors

  • Experimental

    Parameters

    • message: string
    • offset: number
    • Optionaloptions: {
          cause?: unknown;
      }
      • Optionalcause?: unknown

    Returns BSONOffsetError

Properties

cause?: unknown
message: string
offset: number
stack?: string
stackTraceLimit: number

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

-

Accessors

  • get name(): "BSONOffsetError"
  • Experimental

    Returns "BSONOffsetError"

Methods

  • Experimental

    Creates a .stack property on targetObject, which when accessed returns +

Accessors

  • get name(): "BSONOffsetError"
  • Experimental

    Returns "BSONOffsetError"

Methods

  • Experimental

    Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

    const myObject = {};
    Error.captureStackTrace(myObject);
    myObject.stack; // Similar to `new Error().stack` @@ -35,5 +35,5 @@ This method can assist with determining if an error originates from the BSON library even if it does not pass an instanceof check against this class' constructor.

    Parameters

    • value: unknown

      any javascript value that needs type checking

      -

    Returns value is BSONError

Returns value is BSONError

diff --git a/docs/Next/classes/BSON.BSONRegExp.html b/docs/Next/classes/BSON.BSONRegExp.html index a829520009..0a89b9262d 100644 --- a/docs/Next/classes/BSON.BSONRegExp.html +++ b/docs/Next/classes/BSON.BSONRegExp.html @@ -1,5 +1,5 @@ BSONRegExp | mongodb

Class BSONRegExp

A class representation of the BSON RegExp type.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Accessors

_bsontype @@ -8,6 +8,6 @@ parseOptions

Constructors

  • Parameters

    • pattern: string

      The regular expression pattern to match

    • Optionaloptions: string

      The regular expression options

      -

    Returns BSONRegExp

Properties

options: string
pattern: string

Accessors

  • get _bsontype(): "BSONRegExp"
  • Returns "BSONRegExp"

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information +

Returns BSONRegExp

Properties

options: string
pattern: string

Accessors

  • get _bsontype(): "BSONRegExp"
  • Returns "BSONRegExp"

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information If invoked manually without node.js.inspect function, this will default to a modified JSON.stringify

    -

    Parameters

    • Optionaldepth: number
    • Optionaloptions: unknown
    • Optionalinspect: InspectFn

    Returns string

  • Parameters

    • Optionaloptions: string

    Returns string

+

Parameters

  • Optionaldepth: number
  • Optionaloptions: unknown
  • Optionalinspect: InspectFn

Returns string

  • Parameters

    • Optionaloptions: string

    Returns string

diff --git a/docs/Next/classes/BSON.BSONRuntimeError.html b/docs/Next/classes/BSON.BSONRuntimeError.html index 2d7ba3473e..435ee94f7e 100644 --- a/docs/Next/classes/BSON.BSONRuntimeError.html +++ b/docs/Next/classes/BSON.BSONRuntimeError.html @@ -1,4 +1,4 @@ -BSONRuntimeError | mongodb

Class BSONRuntimeError

Hierarchy (view full)

Constructors

constructor +BSONRuntimeError | mongodb

Class BSONRuntimeError

Hierarchy (view full)

Constructors

Properties

cause? message stack? @@ -7,14 +7,14 @@

Methods

Constructors

Properties

cause?: unknown
message: string
stack?: string
stackTraceLimit: number

The Error.stackTraceLimit property specifies the number of stack frames +

Constructors

Properties

cause?: unknown
message: string
stack?: string
stackTraceLimit: number

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

-

Accessors

  • get name(): "BSONRuntimeError"
  • Returns "BSONRuntimeError"

Methods

  • Creates a .stack property on targetObject, which when accessed returns +

Accessors

  • get name(): "BSONRuntimeError"
  • Returns "BSONRuntimeError"

Methods

  • Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

    const myObject = {};
    Error.captureStackTrace(myObject);
    myObject.stack; // Similar to `new Error().stack` @@ -34,5 +34,5 @@ This method can assist with determining if an error originates from the BSON library even if it does not pass an instanceof check against this class' constructor.

    Parameters

    • value: unknown

      any javascript value that needs type checking

      -

    Returns value is BSONError

Returns value is BSONError

diff --git a/docs/Next/classes/BSON.BSONSymbol.html b/docs/Next/classes/BSON.BSONSymbol.html index 70b1ff5ac7..34156910ba 100644 --- a/docs/Next/classes/BSON.BSONSymbol.html +++ b/docs/Next/classes/BSON.BSONSymbol.html @@ -1,5 +1,5 @@ BSONSymbol | mongodb

Class BSONSymbol

A class representation of the BSON Symbol type.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Accessors

Constructors

Properties

value: string

Accessors

  • get _bsontype(): "BSONSymbol"
  • Returns "BSONSymbol"

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information +

Returns BSONSymbol

Properties

value: string

Accessors

  • get _bsontype(): "BSONSymbol"
  • Returns "BSONSymbol"

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information If invoked manually without node.js.inspect function, this will default to a modified JSON.stringify

    -

    Parameters

    • Optionaldepth: number
    • Optionaloptions: unknown
    • Optionalinspect: InspectFn

    Returns string

  • Returns string

  • Returns a string representation of an object.

    -

    Returns string

  • Access the wrapped string value.

    -

    Returns string

+

Parameters

  • Optionaldepth: number
  • Optionaloptions: unknown
  • Optionalinspect: InspectFn

Returns string

  • Returns string

  • Returns a string representation of an object.

    +

    Returns string

  • Access the wrapped string value.

    +

    Returns string

diff --git a/docs/Next/classes/BSON.BSONValue.html b/docs/Next/classes/BSON.BSONValue.html index 54e27ca236..1738cb4701 100644 --- a/docs/Next/classes/BSON.BSONValue.html +++ b/docs/Next/classes/BSON.BSONValue.html @@ -1,7 +1,7 @@ -BSONValue | mongodb

Class BSONValueAbstract

Hierarchy (view full)

Constructors

constructor +BSONValue | mongodb

Class BSONValueAbstract

Hierarchy (view full)

Constructors

Accessors

Methods

Constructors

Accessors

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information +

Constructors

Accessors

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information If invoked manually without node.js.inspect function, this will default to a modified JSON.stringify

    -

    Parameters

    • Optionaldepth: number
    • Optionaloptions: unknown
    • Optionalinspect: InspectFn

    Returns string

+

Parameters

  • Optionaldepth: number
  • Optionaloptions: unknown
  • Optionalinspect: InspectFn

Returns string

diff --git a/docs/Next/classes/BSON.BSONVersionError.html b/docs/Next/classes/BSON.BSONVersionError.html index db74f5ba2e..79da8bd283 100644 --- a/docs/Next/classes/BSON.BSONVersionError.html +++ b/docs/Next/classes/BSON.BSONVersionError.html @@ -1,4 +1,4 @@ -BSONVersionError | mongodb

Class BSONVersionError

Hierarchy (view full)

Constructors

constructor +BSONVersionError | mongodb

Class BSONVersionError

Hierarchy (view full)

Constructors

Properties

cause? message stack? @@ -7,14 +7,14 @@

Methods

Constructors

Properties

cause?: unknown
message: string
stack?: string
stackTraceLimit: number

The Error.stackTraceLimit property specifies the number of stack frames +

Constructors

Properties

cause?: unknown
message: string
stack?: string
stackTraceLimit: number

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

-

Accessors

  • get name(): "BSONVersionError"
  • Returns "BSONVersionError"

Methods

  • Creates a .stack property on targetObject, which when accessed returns +

Accessors

  • get name(): "BSONVersionError"
  • Returns "BSONVersionError"

Methods

  • Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

    const myObject = {};
    Error.captureStackTrace(myObject);
    myObject.stack; // Similar to `new Error().stack` @@ -34,5 +34,5 @@ This method can assist with determining if an error originates from the BSON library even if it does not pass an instanceof check against this class' constructor.

    Parameters

    • value: unknown

      any javascript value that needs type checking

      -

    Returns value is BSONError

Returns value is BSONError

diff --git a/docs/Next/classes/BSON.Binary.html b/docs/Next/classes/BSON.Binary.html index f10d8836be..1a1081c463 100644 --- a/docs/Next/classes/BSON.Binary.html +++ b/docs/Next/classes/BSON.Binary.html @@ -83,7 +83,7 @@

Please use SUBTYPE_UUID

SUBTYPE_VECTOR: 9 = 9

Vector BSON type

VECTOR_TYPE: Readonly<{
    Float32: 39;
    Int8: 3;
    PackedBit: 16;
}>

datatype of a Binary Vector (subtype: 9)

-

Accessors

  • get _bsontype(): "Binary"
  • Returns "Binary"

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information +

Accessors

  • get _bsontype(): "Binary"
  • Returns "Binary"

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information If invoked manually without node.js.inspect function, this will default to a modified JSON.stringify

    Parameters

    • Optionaldepth: number
    • Optionaloptions: unknown
    • Optionalinspect: InspectFn

    Returns string

  • the length of the binary sequence

    Returns number

  • Updates this binary with byte_value.

    diff --git a/docs/Next/classes/BSON.Code.html b/docs/Next/classes/BSON.Code.html index 70874f1a74..761b43b738 100644 --- a/docs/Next/classes/BSON.Code.html +++ b/docs/Next/classes/BSON.Code.html @@ -1,5 +1,5 @@ Code | mongodb

    Class Code

    A class representation of the BSON Code type.

    -

    Hierarchy (view full)

    Constructors

    Hierarchy (view full)

    Constructors

    Properties

    Accessors

    _bsontype @@ -8,6 +8,6 @@ toJSON

    Constructors

    • Parameters

      • code: string | Function

        a string or function.

      • Optionalscope: null | Document

        an optional scope for the function.

        -

      Returns Code

    Properties

    code: string
    scope: null | Document

    Accessors

    • get _bsontype(): "Code"
    • Returns "Code"

    • get [bsonType](): this["_bsontype"]
    • Returns this["_bsontype"]

    Methods

    • Prints a human-readable string of BSON value information +

    Returns Code

Properties

code: string
scope: null | Document

Accessors

  • get _bsontype(): "Code"
  • Returns "Code"

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information If invoked manually without node.js.inspect function, this will default to a modified JSON.stringify

    -

    Parameters

    • Optionaldepth: number
    • Optionaloptions: unknown
    • Optionalinspect: InspectFn

    Returns string

  • Returns {
        code: string;
        scope?: Document;
    }

+

Parameters

  • Optionaldepth: number
  • Optionaloptions: unknown
  • Optionalinspect: InspectFn

Returns string

  • Returns {
        code: string;
        scope?: Document;
    }

diff --git a/docs/Next/classes/BSON.DBRef.html b/docs/Next/classes/BSON.DBRef.html index 6170701637..574676ad03 100644 --- a/docs/Next/classes/BSON.DBRef.html +++ b/docs/Next/classes/BSON.DBRef.html @@ -1,5 +1,5 @@ DBRef | mongodb

Class DBRef

A class representation of the BSON DBRef type.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

collection db? fields @@ -11,6 +11,6 @@

Constructors

  • Parameters

    • collection: string

      the collection name.

    • oid: ObjectId

      the reference ObjectId.

    • Optionaldb: string

      optional db name, if omitted the reference is local to the current db.

      -
    • Optionalfields: Document

    Returns DBRef

Properties

collection: string
db?: string
fields: Document

Accessors

  • get _bsontype(): "DBRef"
  • Returns "DBRef"

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information +

  • Optionalfields: Document

Returns DBRef

Properties

collection: string
db?: string
fields: Document

Accessors

  • get _bsontype(): "DBRef"
  • Returns "DBRef"

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information If invoked manually without node.js.inspect function, this will default to a modified JSON.stringify

    -

    Parameters

    • Optionaldepth: number
    • Optionaloptions: unknown
    • Optionalinspect: InspectFn

    Returns string

+

Parameters

  • Optionaldepth: number
  • Optionaloptions: unknown
  • Optionalinspect: InspectFn

Returns string

diff --git a/docs/Next/classes/BSON.Decimal128.html b/docs/Next/classes/BSON.Decimal128.html index e184dff6d0..a04a0838d9 100644 --- a/docs/Next/classes/BSON.Decimal128.html +++ b/docs/Next/classes/BSON.Decimal128.html @@ -1,5 +1,5 @@ Decimal128 | mongodb

Class Decimal128

A class representation of the BSON Decimal128 type.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Accessors

Constructors

  • Parameters

    • bytes: string | Uint8Array<ArrayBufferLike>

      a buffer containing the raw Decimal128 bytes in little endian order, or a string representation as returned by .toString()

      -

    Returns Decimal128

Properties

bytes: Uint8Array<ArrayBufferLike>

Accessors

  • get _bsontype(): "Decimal128"
  • Returns "Decimal128"

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information +

Returns Decimal128

Properties

bytes: Uint8Array<ArrayBufferLike>

Accessors

  • get _bsontype(): "Decimal128"
  • Returns "Decimal128"

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information If invoked manually without node.js.inspect function, this will default to a modified JSON.stringify

    -

    Parameters

    • Optionaldepth: number
    • Optionaloptions: unknown
    • Optionalinspect: InspectFn

    Returns string

  • Create a string representation of the raw Decimal128 value

    -

    Returns string

  • Create a Decimal128 instance from a string representation

    +

    Parameters

    • Optionaldepth: number
    • Optionaloptions: unknown
    • Optionalinspect: InspectFn

    Returns string

  • Create a string representation of the raw Decimal128 value

    +

    Returns string

  • Create a Decimal128 instance from a string representation

    Parameters

    • representation: string

      a numeric string representation.

      -

    Returns Decimal128

  • Create a Decimal128 instance from a string representation, allowing for rounding to 34 +

Returns Decimal128

  • Create a Decimal128 instance from a string representation, allowing for rounding to 34 significant digits

    Parameters

    • representation: string

      a numeric string representation.

    Returns Decimal128

    > let d = Decimal128.fromString('37.499999999999999196428571428571375')
    Uncaught:
    BSONError: "37.499999999999999196428571428571375" is not a valid Decimal128 string - inexact rounding
    at invalidErr (/home/wajames/js-bson/lib/bson.cjs:1402:11)
    at Decimal128.fromStringInternal (/home/wajames/js-bson/lib/bson.cjs:1633:25)
    at Decimal128.fromString (/home/wajames/js-bson/lib/bson.cjs:1424:27)

    > d = Decimal128.fromStringWithRounding('37.499999999999999196428571428571375')
    new Decimal128("37.49999999999999919642857142857138")
    -
+
diff --git a/docs/Next/classes/BSON.Double.html b/docs/Next/classes/BSON.Double.html index ec891f38a9..47ba785e16 100644 --- a/docs/Next/classes/BSON.Double.html +++ b/docs/Next/classes/BSON.Double.html @@ -1,5 +1,5 @@ Double | mongodb

Class Double

A class representation of the BSON Double type.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Accessors

_bsontype [bsonType] @@ -10,12 +10,12 @@ fromString

Constructors

  • Create a Double type

    Parameters

    • value: number

      the number we want to represent as a double.

      -

    Returns Double

Properties

value: number

Accessors

  • get _bsontype(): "Double"
  • Returns "Double"

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information +

Returns Double

Properties

value: number

Accessors

  • get _bsontype(): "Double"
  • Returns "Double"

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information If invoked manually without node.js.inspect function, this will default to a modified JSON.stringify

    -

    Parameters

    • Optionaldepth: number
    • Optionaloptions: unknown
    • Optionalinspect: InspectFn

    Returns string

  • Returns number

  • Returns a string representation of an object.

    -

    Parameters

    • Optionalradix: number

    Returns string

  • Access the number value.

    +

    Parameters

    • Optionaldepth: number
    • Optionaloptions: unknown
    • Optionalinspect: InspectFn

    Returns string

  • Returns number

  • Returns a string representation of an object.

    +

    Parameters

    • Optionalradix: number

    Returns string

  • Access the number value.

    Returns number

    returns the wrapped double number.

    -
  • Attempt to create an double type from string.

    +
  • Attempt to create an double type from string.

    This method will throw a BSONError on any string input that is not representable as a IEEE-754 64-bit double. Notably, this method will also throw on the following string formats:

      @@ -25,4 +25,4 @@

    Strings with leading zeros, however, are also allowed

    Parameters

    • value: string

      the string we want to represent as a double.

      -

    Returns Double

+

Returns Double

diff --git a/docs/Next/classes/BSON.Int32.html b/docs/Next/classes/BSON.Int32.html index 6b34a47fce..256e64fd02 100644 --- a/docs/Next/classes/BSON.Int32.html +++ b/docs/Next/classes/BSON.Int32.html @@ -1,5 +1,5 @@ Int32 | mongodb

Class Int32

A class representation of a BSON Int32 type.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

Accessors

_bsontype [bsonType] @@ -10,12 +10,12 @@ fromString

Constructors

  • Create an Int32 type

    Parameters

    • value: string | number

      the number we want to represent as an int32.

      -

    Returns Int32

Properties

value: number

Accessors

  • get _bsontype(): "Int32"
  • Returns "Int32"

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information +

Returns Int32

Properties

value: number

Accessors

  • get _bsontype(): "Int32"
  • Returns "Int32"

  • get [bsonType](): this["_bsontype"]
  • Returns this["_bsontype"]

Methods

  • Prints a human-readable string of BSON value information If invoked manually without node.js.inspect function, this will default to a modified JSON.stringify

    -

    Parameters

    • Optionaldepth: number
    • Optionaloptions: unknown
    • Optionalinspect: InspectFn

    Returns string

  • Returns number

  • Returns a string representation of an object.

    -

    Parameters

    • Optionalradix: number

    Returns string

  • Access the number value.

    +

    Parameters

    • Optionaldepth: number
    • Optionaloptions: unknown
    • Optionalinspect: InspectFn

    Returns string

  • Returns number

  • Returns a string representation of an object.

    +

    Parameters

    • Optionalradix: number

    Returns string

  • Access the number value.

    Returns number

    returns the wrapped int32 number.

    -
  • Attempt to create an Int32 type from string.

    +
  • Attempt to create an Int32 type from string.

    This method will throw a BSONError on any string input that is not representable as an Int32. Notably, this method will also throw on the following string formats:

      @@ -25,4 +25,4 @@

    Strings with leading zeros, however, are allowed.

    Parameters

    • value: string

      the string we want to represent as an int32.

      -

    Returns Int32

+

Returns Int32

diff --git a/docs/Next/classes/BSON.Long.html b/docs/Next/classes/BSON.Long.html index 699a2b6b80..f9e881a924 100644 --- a/docs/Next/classes/BSON.Long.html +++ b/docs/Next/classes/BSON.Long.html @@ -12,7 +12,7 @@ a positive number, it overflows back into a negative). Not handling this case would often result in infinite recursion. Common constant values ZERO, ONE, NEG_ONE, etc. are found as static properties on this class.

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

high low unsigned @@ -106,138 +106,138 @@

Parameters

  • low: number

    The low (signed) 32 bits of the long

  • Optionalhigh: number

    The high (signed) 32 bits of the long

  • Optionalunsigned: boolean

    Whether unsigned or not, defaults to signed

    -

Returns Long

  • Constructs a 64 bit two's-complement integer, given a bigint representation.

    +
  • Returns Long

  • Constructs a 64 bit two's-complement integer, given a bigint representation.

    Parameters

    • value: bigint

      BigInt representation of the long value

    • Optionalunsigned: boolean

      Whether unsigned or not, defaults to signed

      -

    Returns Long

  • Constructs a 64 bit two's-complement integer, given a string representation.

    +
  • Returns Long

  • Constructs a 64 bit two's-complement integer, given a string representation.

    Parameters

    • value: string

      String representation of the long value

    • Optionalunsigned: boolean

      Whether unsigned or not, defaults to signed

      -

    Returns Long

  • Properties

    high: number

    The high 32 bits as a signed value.

    -
    low: number

    The low 32 bits as a signed value.

    -
    unsigned: boolean

    Whether unsigned or not.

    -
    MAX_UNSIGNED_VALUE: Long

    Maximum unsigned value.

    -
    MAX_VALUE: Long

    Maximum signed value.

    -
    MIN_VALUE: Long

    Minimum signed value.

    -
    NEG_ONE: Long

    Signed negative one.

    -
    ONE: Long

    Signed one.

    -
    TWO_PWR_24: Long
    UONE: Long

    Unsigned one.

    -
    UZERO: Long

    Unsigned zero.

    -
    ZERO: Long

    Signed zero

    -

    Accessors

    • get __isLong__(): boolean
    • An indicator used to reliably determine if an object is a Long or not.

      -

      Returns boolean

    • get _bsontype(): "Long"
    • Returns "Long"

    • get [bsonType](): this["_bsontype"]
    • Returns this["_bsontype"]

    Methods

    • Returns the sum of this and the specified Long.

      -

      Parameters

      • addend:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

    • Returns the sum of this and the specified Long.

      +

    Returns Long

    Properties

    high: number

    The high 32 bits as a signed value.

    +
    low: number

    The low 32 bits as a signed value.

    +
    unsigned: boolean

    Whether unsigned or not.

    +
    MAX_UNSIGNED_VALUE: Long

    Maximum unsigned value.

    +
    MAX_VALUE: Long

    Maximum signed value.

    +
    MIN_VALUE: Long

    Minimum signed value.

    +
    NEG_ONE: Long

    Signed negative one.

    +
    ONE: Long

    Signed one.

    +
    TWO_PWR_24: Long
    UONE: Long

    Unsigned one.

    +
    UZERO: Long

    Unsigned zero.

    +
    ZERO: Long

    Signed zero

    +

    Accessors

    • get __isLong__(): boolean
    • An indicator used to reliably determine if an object is a Long or not.

      +

      Returns boolean

    • get _bsontype(): "Long"
    • Returns "Long"

    • get [bsonType](): this["_bsontype"]
    • Returns this["_bsontype"]

    Methods

    • Returns the sum of this and the specified Long.

      +

      Parameters

      • addend:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

    • Returns the sum of this and the specified Long.

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

      Sum

      -
    • This is an alias of Long.compare

      -

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns -1 | 0 | 1

    • Compares this Long's value with the specified's.

      +
    • This is an alias of Long.compare

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns -1 | 0 | 1

    • Compares this Long's value with the specified's.

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns -1 | 0 | 1

      0 if they are the same, 1 if the this is greater and -1 if the given one is greater

      -
    • This is an alias of Long.divide

      -

      Parameters

      • divisor:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

    • Returns this Long divided by the specified. The result is signed if this Long is signed or unsigned if this Long is unsigned.

      +
    • This is an alias of Long.divide

      +

      Parameters

      • divisor:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

    • Returns this Long divided by the specified. The result is signed if this Long is signed or unsigned if this Long is unsigned.

      Parameters

      • divisor:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

      Quotient

      -
    • This is an alias of Long.equals

      -

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Tests if this Long's value equals the specified's.

      +
    • This is an alias of Long.equals

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Tests if this Long's value equals the specified's.

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

        Other value

        -

      Returns boolean

    • This is an alias of Long.isZero

      -

      Returns boolean

    • This is an alias of Long.greaterThanOrEqual

      -

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Gets the high 32 bits as a signed integer.

      -

      Returns number

    • Gets the high 32 bits as an unsigned integer.

      -

      Returns number

    • Gets the low 32 bits as a signed integer.

      -

      Returns number

    • Gets the low 32 bits as an unsigned integer.

      -

      Returns number

    • Gets the number of bits needed to represent the absolute value of this Long.

      -

      Returns number

    • Tests if this Long's value is greater than the specified's.

      -

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Tests if this Long's value is greater than or equal the specified's.

      -

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • This is an alias of Long.greaterThan

      -

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • This is an alias of Long.greaterThanOrEqual

      -

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Prints a human-readable string of BSON value information +

    Returns boolean

    • This is an alias of Long.isZero

      +

      Returns boolean

    • This is an alias of Long.greaterThanOrEqual

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Gets the high 32 bits as a signed integer.

      +

      Returns number

    • Gets the high 32 bits as an unsigned integer.

      +

      Returns number

    • Gets the low 32 bits as a signed integer.

      +

      Returns number

    • Gets the low 32 bits as an unsigned integer.

      +

      Returns number

    • Gets the number of bits needed to represent the absolute value of this Long.

      +

      Returns number

    • Tests if this Long's value is greater than the specified's.

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Tests if this Long's value is greater than or equal the specified's.

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • This is an alias of Long.greaterThan

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • This is an alias of Long.greaterThanOrEqual

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Prints a human-readable string of BSON value information If invoked manually without node.js.inspect function, this will default to a modified JSON.stringify

      -

      Parameters

      • Optionaldepth: number
      • Optionaloptions: unknown
      • Optionalinspect: InspectFn

      Returns string

    • Tests if this Long's value is even.

      -

      Returns boolean

    • Tests if this Long's value is negative.

      -

      Returns boolean

    • Tests if this Long's value is odd.

      -

      Returns boolean

    • Tests if this Long's value is positive.

      -

      Returns boolean

    • Tests if this Long's value equals zero.

      -

      Returns boolean

    • This is an alias of Long.lessThanOrEqual

      -

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Tests if this Long's value is less than the specified's.

      -

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Tests if this Long's value is less than or equal the specified's.

      -

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • This is an alias of Long#lessThan.

      -

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • This is an alias of Long.lessThanOrEqual

      -

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • This is an alias of Long.modulo

      -

      Parameters

      • divisor:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

    • Returns this Long modulo the specified.

      -

      Parameters

      • divisor:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

    • This is an alias of Long.multiply

      -

      Parameters

      • multiplier:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

    • Returns the product of this and the specified Long.

      +

      Parameters

      • Optionaldepth: number
      • Optionaloptions: unknown
      • Optionalinspect: InspectFn

      Returns string

    • Tests if this Long's value is even.

      +

      Returns boolean

    • Tests if this Long's value is negative.

      +

      Returns boolean

    • Tests if this Long's value is odd.

      +

      Returns boolean

    • Tests if this Long's value is positive.

      +

      Returns boolean

    • Tests if this Long's value equals zero.

      +

      Returns boolean

    • This is an alias of Long.lessThanOrEqual

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Tests if this Long's value is less than the specified's.

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Tests if this Long's value is less than or equal the specified's.

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • This is an alias of Long#lessThan.

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • This is an alias of Long.lessThanOrEqual

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • This is an alias of Long.modulo

      +

      Parameters

      • divisor:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

    • Returns this Long modulo the specified.

      +

      Parameters

      • divisor:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

    • This is an alias of Long.multiply

      +

      Parameters

      • multiplier:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

    • Returns the product of this and the specified Long.

      Parameters

      • multiplier:
            | string
            | number
            | Timestamp
            | Long

        Multiplier

      Returns Long

      Product

      -
    • This is an alias of Long.notEquals

      -

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • This is an alias of Long.negate

      -

      Returns Long

    • Returns the Negation of this Long's value.

      -

      Returns Long

    • This is an alias of Long.notEquals

      -

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Returns the bitwise NOT of this Long.

      -

      Returns Long

    • Tests if this Long's value differs from the specified's.

      -

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Returns the bitwise OR of this Long and the specified.

      -

      Parameters

      • other: string | number | Long

      Returns Long

    • This is an alias of Long.modulo

      -

      Parameters

      • divisor:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

    • Returns this Long with bits shifted to the left by the given amount.

      +
    • This is an alias of Long.notEquals

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • This is an alias of Long.negate

      +

      Returns Long

    • Returns the Negation of this Long's value.

      +

      Returns Long

    • This is an alias of Long.notEquals

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Returns the bitwise NOT of this Long.

      +

      Returns Long

    • Tests if this Long's value differs from the specified's.

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

    • Returns the bitwise OR of this Long and the specified.

      +

      Parameters

      • other: string | number | Long

      Returns Long

    • This is an alias of Long.modulo

      +

      Parameters

      • divisor:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

    • Returns this Long with bits shifted to the left by the given amount.

      Parameters

      • numBits: number | Long

        Number of bits

      Returns Long

      Shifted Long

      -
    • Returns this Long with bits arithmetically shifted to the right by the given amount.

      +
    • Returns this Long with bits arithmetically shifted to the right by the given amount.

      Parameters

      • numBits: number | Long

        Number of bits

      Returns Long

      Shifted Long

      -
    • Returns this Long with bits logically shifted to the right by the given amount.

      +
    • Returns this Long with bits logically shifted to the right by the given amount.

      Parameters

      • numBits: number | Long

        Number of bits

      Returns Long

      Shifted Long

      -
    • This is an alias of Long.shiftLeft

      -

      Parameters

      • numBits: number | Long

      Returns Long

    • This is an alias of Long.shiftRight

      -

      Parameters

      • numBits: number | Long

      Returns Long

    • This is an alias of Long.subtract

      -

      Parameters

      • subtrahend:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

    • Returns the difference of this and the specified Long.

      +
    • This is an alias of Long.shiftLeft

      +

      Parameters

      • numBits: number | Long

      Returns Long

    • This is an alias of Long.shiftRight

      +

      Parameters

      • numBits: number | Long

      Returns Long

    • This is an alias of Long.subtract

      +

      Parameters

      • subtrahend:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

    • Returns the difference of this and the specified Long.

      Parameters

      • subtrahend:
            | string
            | number
            | Timestamp
            | Long

        Subtrahend

      Returns Long

      Difference

      -
    • Converts the Long to a BigInt (arbitrary precision).

      -

      Returns bigint

    • Converts this Long to its byte representation.

      +
    • Converts the Long to a BigInt (arbitrary precision).

      +

      Returns bigint

    • Converts this Long to its byte representation.

      Parameters

      • Optionalle: boolean

        Whether little or big endian, defaults to big endian

      Returns number[]

      Byte representation

      -
    • Converts this Long to its big endian byte representation.

      +
    • Converts this Long to its big endian byte representation.

      Returns number[]

      Big endian byte representation

      -
    • Converts this Long to its little endian byte representation.

      +
    • Converts this Long to its little endian byte representation.

      Returns number[]

      Little endian byte representation

      -
    • Converts the Long to a 32 bit integer, assuming it is a 32 bit integer.

      -

      Returns number

    • Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa).

      -

      Returns number

    • Converts this Long to signed.

      -

      Returns Long

    • Converts the Long to a string written in the specified radix.

      +
    • Converts the Long to a 32 bit integer, assuming it is a 32 bit integer.

      +

      Returns number

    • Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa).

      +

      Returns number

    • Converts this Long to signed.

      +

      Returns Long

    • Converts the Long to a string written in the specified radix.

      Parameters

      • Optionalradix: number

        Radix (2-36), defaults to 10

      Returns string

      RangeError If radix is out of range

      -
    • Converts this Long to unsigned.

      -

      Returns Long

    • Returns the bitwise XOR of this Long and the given one.

      -

      Parameters

      • other: string | number | Long

      Returns Long

    • Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.

      +
    • Converts this Long to unsigned.

      +

      Returns Long

    • Returns the bitwise XOR of this Long and the given one.

      +

      Parameters

      • other: string | number | Long

      Returns Long

    • Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.

      Parameters

      • value: bigint

        The number in question

      • Optionalunsigned: boolean

        Whether unsigned or not, defaults to signed

      Returns Long

      The corresponding Long value

      -
    • Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. +

    • Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is assumed to use 32 bits.

      Parameters

      • lowBits: number

        The low 32 bits

      • highBits: number

        The high 32 bits

      • Optionalunsigned: boolean

        Whether unsigned or not, defaults to signed

      Returns Long

      The corresponding Long value

      -
    • Creates a Long from its byte representation.

      +
    • Creates a Long from its byte representation.

      Parameters

      • bytes: number[]

        Byte representation

      • Optionalunsigned: boolean

        Whether unsigned or not, defaults to signed

      • Optionalle: boolean

        Whether little or big endian, defaults to big endian

      Returns Long

      The corresponding Long value

      -
    • Creates a Long from its big endian byte representation.

      +
    • Creates a Long from its big endian byte representation.

      Parameters

      • bytes: number[]

        Big endian byte representation

      • Optionalunsigned: boolean

        Whether unsigned or not, defaults to signed

      Returns Long

      The corresponding Long value

      -
    • Creates a Long from its little endian byte representation.

      +
    • Creates a Long from its little endian byte representation.

      Parameters

      • bytes: number[]

        Little endian byte representation

      • Optionalunsigned: boolean

        Whether unsigned or not, defaults to signed

      Returns Long

      The corresponding Long value

      -
    • Parameters

      • doc: {
            $numberLong: string;
        }
        • $numberLong: string
      • Optionaloptions: EJSONOptions

      Returns number | bigint | Long

    • Returns a Long representing the given 32 bit integer value.

      +
    • Parameters

      • doc: {
            $numberLong: string;
        }
        • $numberLong: string
      • Optionaloptions: EJSONOptions

      Returns number | bigint | Long

    • Returns a Long representing the given 32 bit integer value.

      Parameters

      • value: number

        The 32 bit integer in question

      • Optionalunsigned: boolean

        Whether unsigned or not, defaults to signed

      Returns Long

      The corresponding Long value

      -
    • Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.

      +
    • Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.

      Parameters

      • value: number

        The number in question

      • Optionalunsigned: boolean

        Whether unsigned or not, defaults to signed

      Returns Long

      The corresponding Long value

      -
    • Returns a signed Long representation of the given string, written using radix 10.

      +
    • Returns a signed Long representation of the given string, written using radix 10.

      If the input string is empty, this function will throw a BSONError.

      If input string does not have valid signed 64-bit Long representation, this method will return a coerced value:

        @@ -247,7 +247,7 @@

      Parameters

      • str: string

        The textual representation of the Long

      Returns Long

      The corresponding Long value

      -
    • Returns a signed Long representation of the given string, written using the provided radix.

      +
    • Returns a signed Long representation of the given string, written using the provided radix.

      If the input string is empty or a provided radix is not within (2-36), this function will throw a BSONError.

      If input parameters do not have valid signed 64-bit Long representation, this method will return a coerced value:

        @@ -259,7 +259,7 @@

      Parameters

      • str: string

        The textual representation of the Long

      • Optionalradix: number

        The radix in which the text is written (2-36), defaults to 10

      Returns Long

      The corresponding Long value

      -
    • Returns a Long representation of the given string, written using radix 10.

      +
    • Returns a Long representation of the given string, written using radix 10.

      If the input string is empty, this function will throw a BSONError.

      If input parameters do not have a valid 64-bit Long representation, this method will return a coerced value:

        @@ -271,7 +271,7 @@

      Parameters

      • str: string

        The textual representation of the Long

      • Optionalunsigned: boolean

        Whether unsigned or not, defaults to signed

      Returns Long

      The corresponding Long value

      -
    • Returns a Long representation of the given string, written using the specified radix.

      +
    • Returns a Long representation of the given string, written using the specified radix.

      If the input string is empty or a provided radix is not within (2-36), this function will throw a BSONError.

      If input parameters do not have a valid 64-bit Long representation, this method will return a coerced value:

        @@ -284,7 +284,7 @@
    • Optionalunsigned: boolean

      Whether unsigned or not, defaults to signed

    • Optionalradix: number

      The radix in which the text is written (2-36), defaults to 10

    Returns Long

    The corresponding Long value

    -
    • Returns a signed Long representation of the given string, written using radix 10. +

    • Returns a signed Long representation of the given string, written using radix 10. Will throw an error if the given text is not exactly representable as a Long. Throws an error if any of the following conditions are true:

        @@ -295,7 +295,7 @@

      Parameters

      • str: string

        The textual representation of the Long

      Returns Long

      The corresponding Long value

      -
    • Returns a Long representation of the given string, written using the radix 10. +

    • Returns a Long representation of the given string, written using the radix 10. Will throw an error if the given parameters are not exactly representable as a Long. Throws an error if any of the following conditions are true:

        @@ -307,7 +307,7 @@

      Parameters

      • str: string

        The textual representation of the Long

      • Optionalunsigned: boolean

        Whether unsigned or not, defaults to signed

      Returns Long

      The corresponding Long value

      -
    • Returns a signed Long representation of the given string, written using the specified radix. +

    • Returns a signed Long representation of the given string, written using the specified radix. Will throw an error if the given parameters are not exactly representable as a Long. Throws an error if any of the following conditions are true:

        @@ -319,7 +319,7 @@

      Parameters

      • str: string

        The textual representation of the Long

      • Optionalradix: boolean

        The radix in which the text is written (2-36), defaults to 10

      Returns Long

      The corresponding Long value

      -
    • Returns a Long representation of the given string, written using the specified radix. +

    • Returns a Long representation of the given string, written using the specified radix. Will throw an error if the given parameters are not exactly representable as a Long. Throws an error if any of the following conditions are true:

        @@ -332,7 +332,7 @@
    • Optionalunsigned: boolean

      Whether unsigned or not, defaults to signed

    • Optionalradix: number

      The radix in which the text is written (2-36), defaults to 10

    Returns Long

    The corresponding Long value

    -
    • Converts the specified value to a Long.

      +
    • Converts the specified value to a Long.

      Parameters

      • val: string | number | {
            high: number;
            low: number;
            unsigned?: boolean;
        }
      • Optionalunsigned: boolean

        Whether unsigned or not, defaults to signed

        -

      Returns Long

    • Tests if the specified object is a Long.

      -

      Parameters

      • value: unknown

      Returns value is Long

    +

    Returns Long

    • Tests if the specified object is a Long.

      +

      Parameters

      • value: unknown

      Returns value is Long

    diff --git a/docs/Next/classes/BSON.MaxKey.html b/docs/Next/classes/BSON.MaxKey.html index c6c6173d23..2a7b672dc8 100644 --- a/docs/Next/classes/BSON.MaxKey.html +++ b/docs/Next/classes/BSON.MaxKey.html @@ -1,8 +1,8 @@ MaxKey | mongodb

    Class MaxKey

    A class representation of the BSON MaxKey type.

    -

    Hierarchy (view full)

    Constructors

    Hierarchy (view full)

    Constructors

    Accessors

    Methods

    Constructors

    Accessors

    • get _bsontype(): "MaxKey"
    • Returns "MaxKey"

    • get [bsonType](): this["_bsontype"]
    • Returns this["_bsontype"]

    Methods

    • Prints a human-readable string of BSON value information +

    Constructors

    Accessors

    • get _bsontype(): "MaxKey"
    • Returns "MaxKey"

    • get [bsonType](): this["_bsontype"]
    • Returns this["_bsontype"]

    Methods

    • Prints a human-readable string of BSON value information If invoked manually without node.js.inspect function, this will default to a modified JSON.stringify

      -

      Returns string

    +

    Returns string

    diff --git a/docs/Next/classes/BSON.MinKey.html b/docs/Next/classes/BSON.MinKey.html index 05e3c5e025..bc730f18f3 100644 --- a/docs/Next/classes/BSON.MinKey.html +++ b/docs/Next/classes/BSON.MinKey.html @@ -1,8 +1,8 @@ MinKey | mongodb

    Class MinKey

    A class representation of the BSON MinKey type.

    -

    Hierarchy (view full)

    Constructors

    Hierarchy (view full)

    Constructors

    Accessors

    Methods

    Constructors

    Accessors

    • get _bsontype(): "MinKey"
    • Returns "MinKey"

    • get [bsonType](): this["_bsontype"]
    • Returns this["_bsontype"]

    Methods

    • Prints a human-readable string of BSON value information +

    Constructors

    Accessors

    • get _bsontype(): "MinKey"
    • Returns "MinKey"

    • get [bsonType](): this["_bsontype"]
    • Returns this["_bsontype"]

    Methods

    • Prints a human-readable string of BSON value information If invoked manually without node.js.inspect function, this will default to a modified JSON.stringify

      -

      Returns string

    +

    Returns string

    diff --git a/docs/Next/classes/BSON.ObjectId.html b/docs/Next/classes/BSON.ObjectId.html index 2b849cb425..23f429e006 100644 --- a/docs/Next/classes/BSON.ObjectId.html +++ b/docs/Next/classes/BSON.ObjectId.html @@ -1,5 +1,5 @@ ObjectId | mongodb

    Class ObjectId

    A class representation of the BSON ObjectId type.

    -

    Hierarchy (view full)

    Constructors

    Hierarchy (view full)

    Constructors

    Properties

    Accessors

    _bsontype [bsonType] @@ -16,33 +16,33 @@ generate isValid

    Constructors

    • To generate a new ObjectId, use ObjectId() with no argument.

      -

      Returns ObjectId

    • Create ObjectId from a 24 character hex string.

      +

      Returns ObjectId

    • Create ObjectId from a 24 character hex string.

      Parameters

      • inputId: string

        A 24 character hex string.

        -

      Returns ObjectId

    • Create ObjectId from the BSON ObjectId type.

      +

    Returns ObjectId

  • Create ObjectId from the BSON ObjectId type.

    Parameters

    • inputId: ObjectId

      The BSON ObjectId type.

      -

    Returns ObjectId

  • Create ObjectId from the object type that has the toHexString method.

    +
  • Returns ObjectId

  • Create ObjectId from the object type that has the toHexString method.

    Parameters

    Returns ObjectId

  • Create ObjectId from a 12 byte binary Buffer.

    +
  • Returns ObjectId

  • Create ObjectId from a 12 byte binary Buffer.

    Parameters

    • inputId: Uint8Array<ArrayBufferLike>

      A 12 byte binary Buffer.

      -

    Returns ObjectId

  • Implementation overload.

    +
  • Returns ObjectId

  • Implementation overload.

    Parameters

    • OptionalinputId:
          | string
          | Uint8Array<ArrayBufferLike>
          | ObjectId
          | ObjectIdLike

      All input types that are used in the constructor implementation.

      -

    Returns ObjectId

  • Properties

    cacheHexString: boolean

    Accessors

    • get _bsontype(): "ObjectId"
    • Returns "ObjectId"

    • get [bsonType](): this["_bsontype"]
    • Returns this["_bsontype"]

    • get id(): Uint8Array<ArrayBufferLike>
    • The ObjectId bytes

      -

      Returns Uint8Array<ArrayBufferLike>

    Methods

    • Compares the equality of this ObjectId with otherID.

      +

    Returns ObjectId

    Properties

    cacheHexString: boolean

    Accessors

    • get _bsontype(): "ObjectId"
    • Returns "ObjectId"

    • get [bsonType](): this["_bsontype"]
    • Returns this["_bsontype"]

    • get id(): Uint8Array<ArrayBufferLike>
    • The ObjectId bytes

      +

      Returns Uint8Array<ArrayBufferLike>

    Methods

    • Compares the equality of this ObjectId with otherID.

      Parameters

      • otherId:
            | undefined
            | null
            | string
            | ObjectId
            | ObjectIdLike

        ObjectId instance to compare against.

        -

      Returns boolean

    • Returns the generation date (accurate up to the second) that this ID was generated.

      -

      Returns Date

    • Converts to a string representation of this Id.

      +

    Returns boolean

    • Returns the generation date (accurate up to the second) that this ID was generated.

      +

      Returns Date

    • Converts to a string representation of this Id.

      Parameters

      • Optionaldepth: number
      • Optionaloptions: unknown
      • Optionalinspect: InspectFn

      Returns string

      return the 24 character hex string representation.

      -
    • Returns the ObjectId id as a 24 lowercase character hex string representation

      -

      Returns string

    • Converts to its JSON the 24 character hex string representation.

      -

      Returns string

    • Converts the id into a 24 character hex string for printing, unless encoding is provided.

      +
    • Returns the ObjectId id as a 24 lowercase character hex string representation

      +

      Returns string

    • Converts to its JSON the 24 character hex string representation.

      +

      Returns string

    • Converts the id into a 24 character hex string for printing, unless encoding is provided.

      Parameters

      • Optionalencoding: "base64" | "hex"

        hex or base64

        -

      Returns string

    • Creates an ObjectId instance from a base64 string

      -

      Parameters

      • base64: string

      Returns ObjectId

    • Creates an ObjectId from a hex string representation of an ObjectId.

      +

    Returns string

    • Creates an ObjectId instance from a base64 string

      +

      Parameters

      • base64: string

      Returns ObjectId

    • Creates an ObjectId from a hex string representation of an ObjectId.

      Parameters

      • hexString: string

        create a ObjectId from a passed in 24 character hexstring.

        -

      Returns ObjectId

    • Creates an ObjectId from a second based number, with the rest of the ObjectId zeroed out. Used for comparisons or sorting the ObjectId.

      +

    Returns ObjectId

    • Creates an ObjectId from a second based number, with the rest of the ObjectId zeroed out. Used for comparisons or sorting the ObjectId.

      Parameters

      • time: number

        an integer number representing a number of seconds.

        -

      Returns ObjectId

    • Generate a 12 byte id buffer used in ObjectId's

      +

    Returns ObjectId

    • Generate a 12 byte id buffer used in ObjectId's

      Parameters

      • Optionaltime: number

        pass in a second based timestamp.

        -

      Returns Uint8Array<ArrayBufferLike>

    • Checks if a value can be used to create a valid bson ObjectId

      +

    Returns Uint8Array<ArrayBufferLike>

    • Checks if a value can be used to create a valid bson ObjectId

      Parameters

      • id:
            | string
            | Uint8Array<ArrayBufferLike>
            | ObjectId
            | ObjectIdLike

        any JS value

        -

      Returns boolean

    +

    Returns boolean

    diff --git a/docs/Next/classes/BSON.Timestamp.html b/docs/Next/classes/BSON.Timestamp.html index 762158d694..6c6515229e 100644 --- a/docs/Next/classes/BSON.Timestamp.html +++ b/docs/Next/classes/BSON.Timestamp.html @@ -1,4 +1,4 @@ -Timestamp | mongodb

    Class Timestamp

    Hierarchy (view full)

    Constructors

    constructor +Timestamp | mongodb

    Class Timestamp

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    • Parameters

      • int: bigint

        A 64-bit bigint representing the Timestamp.

        -

      Returns Timestamp

    • Parameters

      • long: Long

        A 64-bit Long representing the Timestamp.

        -

      Returns Timestamp

    • Parameters

      • value: {
            i: number;
            t: number;
        }

        A pair of two values indicating timestamp and increment.

        -
        • i: number
        • t: number

      Returns Timestamp

    Properties

    __isLong__: boolean
    add: ((addend:
        | string
        | number
        | Timestamp
        | Long) => Long)

    Type declaration

      • (addend): Long
      • Returns the sum of this and the specified Long.

        +

    Returns Timestamp

  • Parameters

    • long: Long

      A 64-bit Long representing the Timestamp.

      +

    Returns Timestamp

  • Parameters

    • value: {
          i: number;
          t: number;
      }

      A pair of two values indicating timestamp and increment.

      +
      • i: number
      • t: number

    Returns Timestamp

  • Properties

    __isLong__: boolean
    add: ((addend:
        | string
        | number
        | Timestamp
        | Long) => Long)

    Type declaration

      • (addend): Long
      • Returns the sum of this and the specified Long.

        Parameters

        • addend:
              | string
              | number
              | Timestamp
              | Long

        Returns Long

    and: ((other:
        | string
        | number
        | Timestamp
        | Long) => Long)

    Type declaration

      • (other): Long
      • Returns the sum of this and the specified Long.

        Parameters

        • other:
              | string
              | number
              | Timestamp
              | Long

        Returns Long

        Sum

    comp: ((other:
        | string
        | number
        | Timestamp
        | Long) => -1 | 0 | 1)

    Type declaration

      • (other): -1 | 0 | 1
      • This is an alias of Long.compare

        @@ -157,14 +157,14 @@

    Returns string

    RangeError If radix is out of range

    toUnsigned: (() => Long)

    Type declaration

      • (): Long
      • Converts this Long to unsigned.

        Returns Long

    unsigned: boolean
    xor: ((other: string | number | Long) => Long)

    Type declaration

      • (other): Long
      • Returns the bitwise XOR of this Long and the given one.

        -

        Parameters

        • other: string | number | Long

        Returns Long

    MAX_VALUE: Long

    Accessors

    • get _bsontype(): "Timestamp"
    • Returns "Timestamp"

    • get [bsonType](): "Timestamp"
    • Returns "Timestamp"

    • get i(): number
    • An incrementing ordinal for operations within a given second.

      -

      Returns number

    • get t(): number
    • A time_t value measuring seconds since the Unix epoch

      -

      Returns number

    Methods

    • Parameters

      • Optionaldepth: number
      • Optionaloptions: unknown
      • Optionalinspect: InspectFn

      Returns string

    • Returns {
          $timestamp: string;
      }

      • $timestamp: string
    • Returns a Timestamp for the given high and low bits. Each is assumed to use 32 bits.

      +

      Parameters

      • other: string | number | Long

      Returns Long

    MAX_VALUE: Long

    Accessors

    • get _bsontype(): "Timestamp"
    • Returns "Timestamp"

    • get [bsonType](): "Timestamp"
    • Returns "Timestamp"

    • get i(): number
    • An incrementing ordinal for operations within a given second.

      +

      Returns number

    • get t(): number
    • A time_t value measuring seconds since the Unix epoch

      +

      Returns number

    Methods

    • Parameters

      • Optionaldepth: number
      • Optionaloptions: unknown
      • Optionalinspect: InspectFn

      Returns string

    • Returns {
          $timestamp: string;
      }

      • $timestamp: string
    • Returns a Timestamp for the given high and low bits. Each is assumed to use 32 bits.

      Parameters

      • lowBits: number

        the low 32-bits.

      • highBits: number

        the high 32-bits.

        -

      Returns Timestamp

    • Returns a Timestamp represented by the given (32-bit) integer value.

      -

      Parameters

      • value: number

      Returns Timestamp

    • Returns a Timestamp representing the given number value, provided that it is a finite number. Otherwise, zero is returned.

      -

      Parameters

      • value: number

      Returns Timestamp

    • Returns a Timestamp from the given string, optionally using the given radix.

      +

    Returns Timestamp

    • Returns a Timestamp represented by the given (32-bit) integer value.

      +

      Parameters

      • value: number

      Returns Timestamp

    • Returns a Timestamp representing the given number value, provided that it is a finite number. Otherwise, zero is returned.

      +

      Parameters

      • value: number

      Returns Timestamp

    • Returns a Timestamp from the given string, optionally using the given radix.

      Parameters

      • str: string

        the textual representation of the Timestamp.

      • optRadix: number

        the radix in which the text is written.

        -

      Returns Timestamp

    +

    Returns Timestamp

    diff --git a/docs/Next/classes/BSON.UUID.html b/docs/Next/classes/BSON.UUID.html index 4118956e5a..bb5a30a793 100644 --- a/docs/Next/classes/BSON.UUID.html +++ b/docs/Next/classes/BSON.UUID.html @@ -1,5 +1,5 @@ UUID | mongodb

    Class UUID

    A class representation of the BSON UUID type.

    -

    Hierarchy (view full)

    Constructors

    Hierarchy (view full)

    Constructors

    Properties

    buffer position sub_type @@ -46,7 +46,7 @@

    Constructors

    • Create a UUID type

      When the argument to the constructor is omitted a random v4 UUID will be generated.

      Parameters

      • Optionalinput: string | Uint8Array<ArrayBufferLike> | UUID

        Can be a 32 or 36 character hex string (dashes excluded/included) or a 16 byte binary Buffer.

        -

      Returns UUID

    Properties

    buffer: Uint8Array<ArrayBufferLike>

    The bytes of the Binary value.

    +

    Returns UUID

    Properties

    buffer: Uint8Array<ArrayBufferLike>

    The bytes of the Binary value.

    The format of a Binary value in BSON is defined as:

    binary	::= int32 subtype (byte*)
     
    @@ -89,19 +89,19 @@

    Please use SUBTYPE_UUID

    SUBTYPE_VECTOR: 9 = 9

    Vector BSON type

    VECTOR_TYPE: Readonly<{
        Float32: 39;
        Int8: 3;
        PackedBit: 16;
    }>

    datatype of a Binary Vector (subtype: 9)

    -

    Accessors

    • get _bsontype(): "Binary"
    • Returns "Binary"

    • get [bsonType](): this["_bsontype"]
    • Returns this["_bsontype"]

    • get id(): Uint8Array<ArrayBufferLike>
    • The UUID bytes

      -

      Returns Uint8Array<ArrayBufferLike>

    Methods

    • Compares the equality of this UUID with otherID.

      +

    Accessors

    • get _bsontype(): "Binary"
    • Returns "Binary"

    • get [bsonType](): this["_bsontype"]
    • Returns this["_bsontype"]

    • get id(): Uint8Array<ArrayBufferLike>
    • The UUID bytes

      +

      Returns Uint8Array<ArrayBufferLike>

    Methods

    • Compares the equality of this UUID with otherID.

      Parameters

      • otherId: string | Uint8Array<ArrayBufferLike> | UUID

        UUID instance to compare against.

        -

      Returns boolean

    • Converts to a string representation of this Id.

      +

    Returns boolean

    • Converts to a string representation of this Id.

      Parameters

      • Optionaldepth: number
      • Optionaloptions: unknown
      • Optionalinspect: InspectFn

      Returns string

      return the 36 character hex string representation.

      -
    • the length of the binary sequence

      +
    • the length of the binary sequence

      Returns number

    • Updates this binary with byte_value.

      Parameters

      • byteValue:
            | string
            | number
            | Uint8Array<ArrayBufferLike>
            | number[]

        a single byte we wish to write.

      Returns void

    • Returns a view of length bytes starting at position.

      Parameters

      • position: number

        read from the given position in the Binary.

      • length: number

        the number of bytes to read.

      Returns Uint8Array<ArrayBufferLike>

    • Creates a Binary instance from the current UUID.

      -

      Returns Binary

    • If this Binary represents a Packed bit Vector (binary.buffer[0] === Binary.VECTOR_TYPE.PackedBit), +

      Returns Binary

    • If this Binary represents a Packed bit Vector (binary.buffer[0] === Binary.VECTOR_TYPE.PackedBit), returns a copy of the bit unpacked into a new Int8Array.

      Use toPackedBits to get the bits still in packed form.

      If the Binary is not a Vector, or the datatype is not PackedBit, an error is thrown.

      @@ -110,30 +110,30 @@

      If the Binary is not a Vector, or the datatype is not Float32, an error is thrown.

      Returns Float32Array<ArrayBufferLike>

    • Returns the UUID id as a 32 or 36 character hex string representation, excluding/including dashes (defaults to 36 character dash separated)

      Parameters

      • OptionalincludeDashes: boolean

        should the string exclude dash-separators.

        -

      Returns string

    • If this Binary represents a Int8 Vector (binary.buffer[0] === Binary.VECTOR_TYPE.Int8), +

    Returns string

    • If this Binary represents a Int8 Vector (binary.buffer[0] === Binary.VECTOR_TYPE.Int8), returns a copy of the bytes in a new Int8Array.

      If the Binary is not a Vector, or the datatype is not Int8, an error is thrown.

      Returns Int8Array<ArrayBufferLike>

    • Converts the id into its JSON string representation. A 36 character (dashes included) hex string in the format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

      -

      Returns string

    • If this Binary represents packed bit Vector (binary.buffer[0] === Binary.VECTOR_TYPE.PackedBit), +

      Returns string

    • If this Binary represents packed bit Vector (binary.buffer[0] === Binary.VECTOR_TYPE.PackedBit), returns a copy of the bytes that are packed bits.

      Use toBits to get the unpacked bits.

      If the Binary is not a Vector, or the datatype is not PackedBit, an error is thrown.

      Returns Uint8Array<ArrayBufferLike>

    • Converts the id into a 36 character (dashes included) hex string, unless a encoding is specified.

      -

      Parameters

      • Optionalencoding: "base64" | "hex"

      Returns string

    • returns a view of the binary value as a Uint8Array

      +

      Parameters

      • Optionalencoding: "base64" | "hex"

      Returns string

    • returns a view of the binary value as a Uint8Array

      Returns Uint8Array<ArrayBufferLike>

    • Writes a buffer to the binary.

      Parameters

      • sequence: BinarySequence

        a string or buffer to be written to the Binary BSON object.

      • offset: number

        specify the binary of where to write the content.

      Returns void

    • Creates an UUID from a base64 string representation of an UUID.

      -

      Parameters

      • base64: string

      Returns UUID

    • Creates an UUID from a hex string representation of an UUID.

      +

      Parameters

      • base64: string

      Returns UUID

    • Creates an UUID from a hex string representation of an UUID.

      Parameters

      • hexString: string

        32 or 36 character hex string (dashes excluded/included).

        -

      Returns UUID

    • Constructs a Binary representing an Packed Bit Vector.

      +

    Returns UUID

    • Constructs a Binary representing an Packed Bit Vector.

      Parameters

      • bits: ArrayLike<number>

      Returns Binary

    • Constructs a Binary representing an Float32 Vector.

      Parameters

      • array: Float32Array<ArrayBufferLike>

      Returns Binary

    • Constructs a Binary representing an Int8 Vector.

      Parameters

      • array: Int8Array<ArrayBufferLike>

        The array to store as a view on the Binary class

      Returns Binary

    • Constructs a Binary representing a packed bit Vector.

      Use fromBits to pack an array of 1s and 0s.

      Parameters

      • array: Uint8Array<ArrayBufferLike>
      • Optionalpadding: number

      Returns Binary

    • Generates a populated buffer containing a v4 uuid

      -

      Returns Uint8Array<ArrayBufferLike>

    • Checks if a value is a valid bson UUID

      +

      Returns Uint8Array<ArrayBufferLike>

    • Checks if a value is a valid bson UUID

      Parameters

      • input:
            | string
            | Uint8Array<ArrayBufferLike>
            | Binary
            | UUID

        UUID, string or Buffer to validate.

        -

      Returns boolean

    +

    Returns boolean

    diff --git a/docs/Next/classes/ClientEncryption.html b/docs/Next/classes/ClientEncryption.html index d562d90bc1..bb508a493b 100644 --- a/docs/Next/classes/ClientEncryption.html +++ b/docs/Next/classes/ClientEncryption.html @@ -20,7 +20,7 @@
    new ClientEncryption(mongoClient, {
    keyVaultNamespace: 'client.encryption',
    kmsProviders: {
    aws: {
    accessKeyId: AWS_ACCESS_KEY,
    secretAccessKey: AWS_SECRET_KEY
    }
    }
    });
    -

    Accessors

    Methods

    Accessors

    Methods

    • Adds a keyAltName to a key identified by the provided _id.

      This method resolves to/returns the old key value (prior to adding the new altKeyName).

      Parameters

      • _id: Binary

        The id of the document to update.

      • keyAltName: string

        a keyAltName to search for a key

        @@ -29,7 +29,7 @@
    • Creates a data key used for explicit encryption and inserts it into the key vault namespace

      Parameters

      Returns Promise<UUID>

      // Using async/await to create a local key
      const dataKeyId = await clientEncryption.createDataKey('local');
      @@ -39,7 +39,7 @@
      // Using async/await to create an aws key with a keyAltName
      const dataKeyId = await clientEncryption.createDataKey('aws', {
      masterKey: {
      region: 'us-east-1',
      key: 'xxxxxxxxxxxxxx' // CMK ARN here
      },
      keyAltNames: [ 'mySpecialKey' ]
      });
      -
    • Explicitly decrypt a provided encrypted value

      Type Parameters

      • T = any

      Parameters

      • value: Binary

        An encrypted value

      Returns Promise<T>

      a Promise that either resolves with the decrypted value, or rejects with an error

      // Decrypting value with async/await API
      async function decryptMyValue(value) {
      return clientEncryption.decrypt(value);
      }
      -
    • Deletes the key with the provided id from the keyvault, if it exists.

      Parameters

      Returns Promise<DeleteResult>

      // delete a key by _id
      const id = new Binary(); // id is a bson binary subtype 4 object
      const { deletedCount } = await clientEncryption.deleteKey(id);

      if (deletedCount != null && deletedCount > 0) {
      // successful deletion
      }
      -
    • Explicitly encrypt a provided value. Note that either options.keyId or options.keyAltName must be specified. Specifying both options.keyId and options.keyAltName is considered an error.

      Parameters

      Returns Promise<Binary>

      a Promise that either resolves with the encrypted value, or rejects with an error.

      @@ -68,7 +68,7 @@
      // Encryption using a keyAltName
      async function encryptMyData(value) {
      await clientEncryption.createDataKey('local', { keyAltNames: 'mySpecialKey' });
      return clientEncryption.encrypt(value, { keyAltName: 'mySpecialKey', algorithm: 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic' });
      }
      -
    • Finds a key in the keyvault with the specified _id.

      Returns a promise that either resolves to a DataKey if a document matches the key or null if no documents match the id. The promise rejects with an error if an error is thrown.

      Parameters

      Returns Promise<null | DataKey>

      // getting a key by id
      const id = new Binary(); // id is a bson binary subtype 4 object
      const key = await clientEncryption.getKey(id);
      if (!key) {
      // key is null if there was no matching key
      }
      -
    • Finds a key in the keyvault which has the specified keyAltName.

      Parameters

      • keyAltName: string

        a keyAltName to search for a key

      Returns Promise<null | WithId<DataKey>>

      Returns a promise that either resolves to a DataKey if a document matches the key or null if no documents match the keyAltName. The promise rejects with an error if an error is thrown.

      // get a key by alt name
      const keyAltName = 'keyAltName';
      const key = await clientEncryption.getKeyByAltName(keyAltName);
      if (!key) {
      // key is null if there is no matching key
      }
      -
    • Adds a keyAltName to a key identified by the provided _id.

      This method resolves to/returns the old key value (prior to removing the new altKeyName).

      If the removed keyAltName is the last keyAltName for that key, the altKeyNames property is unset from the document.

      Parameters

      • _id: Binary

        The id of the document to update.

        @@ -108,7 +108,7 @@
    • Searches the keyvault for any data keys matching the provided filter. If there are matches, rewrapManyDataKey then attempts to re-wrap the data keys using the provided options.

      +
    • Searches the keyvault for any data keys matching the provided filter. If there are matches, rewrapManyDataKey then attempts to re-wrap the data keys using the provided options.

      If no matches are found, then no bulk write is performed.

      Returns Promise<{
          bulkWriteResult?: BulkWriteResult;
      }>

      // rewrapping all data data keys (using a filter that matches all documents)
      const filter = {};

      const result = await clientEncryption.rewrapManyDataKey(filter);
      if (result.bulkWriteResult != null) {
      // keys were re-wrapped, results will be available in the bulkWrite object.
      }
      @@ -116,4 +116,4 @@
      // attempting to rewrap all data keys with no matches
      const filter = { _id: new Binary() } // assume _id matches no documents in the database
      const result = await clientEncryption.rewrapManyDataKey(filter);

      if (result.bulkWriteResult == null) {
      // no keys matched, `bulkWriteResult` does not exist on the result object
      }
      -
    +
    diff --git a/docs/Next/classes/ClientSession.html b/docs/Next/classes/ClientSession.html index d8300dccf7..126f513639 100644 --- a/docs/Next/classes/ClientSession.html +++ b/docs/Next/classes/ClientSession.html @@ -92,7 +92,7 @@

    Returns undefined | ServerSessionId

    Methods

    • Type Parameters

      • K

      Parameters

      • error: Error
      • event: string | symbol
      • Rest...args: AnyRest

      Returns void

    • Aborts the currently active transaction in this session.

      Parameters

      • Optionaloptions: {
            timeoutMS?: number;
        }

        Optional options, can be used to override defaultTimeoutMS.

        -
        • OptionaltimeoutMS?: number

      Returns Promise<void>

    • Alias for emitter.on(eventName, listener).

      +
      • OptionaltimeoutMS?: number

    Returns Promise<void>

    • This is here to ensure that ClientSession is never serialized to BSON.

      -

      Returns never

    • Starts a transaction and runs a provided function, ensuring the commitTransaction is always attempted when all operations run in the function have completed.

      +

      Returns never

    • Listens once to the abort event on the provided signal.

      +
    • Listens once to the abort event on the provided signal.

      Listening to the abort event on abort signals is unsafe and may lead to resource leaks since another third party with the signal can call e.stopImmediatePropagation(). Unfortunately Node.js cannot change diff --git a/docs/Next/classes/GridFSBucketWriteStream.html b/docs/Next/classes/GridFSBucketWriteStream.html index 268a5d41a4..05b2dd8b63 100644 --- a/docs/Next/classes/GridFSBucketWriteStream.html +++ b/docs/Next/classes/GridFSBucketWriteStream.html @@ -67,7 +67,7 @@ once setMaxListeners toWeb -

    Properties

    bucket: GridFSBucket
    bufToStore: Buffer<ArrayBufferLike>

    Space used to store a chunk currently being inserted

    +

    Properties

    bucket: GridFSBucket
    bufToStore: Uint8Array<ArrayBufferLike>

    Space used to store a chunk currently being inserted

    A Collection instance where the file's chunks are stored

    chunkSizeBytes: number

    The number of bytes that each chunk will be limited to

    closed: boolean

    Is true after 'close' has been emitted.

    diff --git a/docs/Next/classes/HostAddress.html b/docs/Next/classes/HostAddress.html index 21c294a3a9..7b5b5ee1bb 100644 --- a/docs/Next/classes/HostAddress.html +++ b/docs/Next/classes/HostAddress.html @@ -1,4 +1,4 @@ -HostAddress | mongodb

    Class HostAddress

    Constructors

    constructor +HostAddress | mongodb

    Class HostAddress

    Constructors

    Properties

    Constructors

    Properties

    host: undefined | string = undefined
    isIPv6: boolean = false
    port: undefined | number = undefined
    socketPath: undefined | string = undefined

    Methods

    • Returns {
          host: string;
          port: number;
      }

      • host: string
      • port: number
    +

    Constructors

    Properties

    host: undefined | string = undefined
    isIPv6: boolean = false
    port: undefined | number = undefined
    socketPath: undefined | string = undefined

    Methods

    • Returns {
          host: string;
          port: number;
      }

      • host: string
      • port: number
    diff --git a/docs/Next/classes/MongoClient.html b/docs/Next/classes/MongoClient.html index ce0f1c375d..25aa0d79c2 100644 --- a/docs/Next/classes/MongoClient.html +++ b/docs/Next/classes/MongoClient.html @@ -17,7 +17,7 @@
    import { MongoClient } from 'mongodb';
    // Enable command monitoring for debugging
    const client = new MongoClient('mongodb://localhost:27017?appName=mflix', { monitorCommands: true });
    -

    Hierarchy (view full)

    Implements

    • AsyncDisposable

    Constructors

    Hierarchy (view full)

    Implements

    • AsyncDisposable

    Constructors

    Properties

    Constructors

    Properties

    options: Readonly<Omit<MongoOptions,
        | "ca"
        | "cert"
        | "crl"
        | "key"
        | "driverInfo"
        | "monitorCommands">> & Pick<MongoOptions,
        | "ca"
        | "cert"
        | "crl"
        | "key"
        | "driverInfo"
        | "monitorCommands"> & {}

    The consolidate, parsed, transformed and merged options.

    -
    captureRejections: boolean

    Value: boolean

    +

    Constructors

    Properties

    options: Readonly<Omit<MongoOptions,
        | "ca"
        | "cert"
        | "crl"
        | "key"
        | "driverInfo"
        | "monitorCommands">> & Pick<MongoOptions,
        | "ca"
        | "cert"
        | "crl"
        | "key"
        | "driverInfo"
        | "monitorCommands"> & {}

    The consolidate, parsed, transformed and merged options.

    +
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    captureRejectionSymbol: typeof captureRejectionSymbol

    v13.6.0, v12.17.0

    -

    Accessors

    Methods

    • Type Parameters

      • K

      Parameters

      • error: Error
      • event: string | symbol
      • Rest...args: AnyRest

      Returns void

    Accessors

    Methods

    • Type Parameters

      • K

      Parameters

      • error: Error
      • event: string | symbol
      • Rest...args: AnyRest

      Returns void

    • Alias for emitter.on(eventName, listener).

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      Parameters

      Returns this

      v0.1.26

      @@ -108,11 +108,11 @@

      Returns this

      v0.1.26

    • Append metadata to the client metadata after instantiation.

      Parameters

      • driverInfo: DriverInfo

        Information about the application or library.

        -

      Returns void

    Returns void

    • Cleans up resources managed by the MongoClient.

      The close method clears and closes all resources whose lifetimes are managed by the MongoClient. Please refer to the MongoClient class documentation for a high level overview of the client's key features and responsibilities.

      However, the close method does not handle the cleanup of resources explicitly created by the user. @@ -172,13 +172,13 @@

      Parameters

      • _force: boolean = false

        currently an unused flag that has no effect. Defaults to false.

        -

      Returns Promise<void>

    • An optional method to verify a handful of assumptions that are generally useful at application boot-time before using a MongoClient. +

    Returns Promise<void>

    • Create a new Db instance sharing the current socket connections.

      +
    • Create a new Db instance sharing the current socket connections.

      Parameters

      • OptionaldbName: string

        The name of the database we want to use. If not provided, use database name from connection string.

      • Optionaloptions: DbOptions

        Optional settings for Db construction

        -

      Returns Db

    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments +

    Returns Db

    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener @@ -450,7 +450,7 @@

      Returns ClientSession

      A ClientSession instance may only be passed to operations being performed on the same MongoClient it was started from.

      -

    https://www.mongodb.com/docs/manual/reference/connection-string/

    -
    • Returns a copy of the array of listeners for the event named eventName.

      +

    Constructors

    Properties

    collection: string
    db: string

    Methods

    diff --git a/docs/Next/classes/MongoDBNamespace.html b/docs/Next/classes/MongoDBNamespace.html index 94f75bde9c..0f5b0395a8 100644 --- a/docs/Next/classes/MongoDBNamespace.html +++ b/docs/Next/classes/MongoDBNamespace.html @@ -1,4 +1,4 @@ -MongoDBNamespace | mongodb

    Class MongoDBNamespace

    Hierarchy (view full)

    Constructors

    constructor +MongoDBNamespace | mongodb

    Class MongoDBNamespace

    Hierarchy (view full)

    Constructors

    Properties

    Methods

    toString @@ -7,4 +7,4 @@

    Constructors

    Properties

    collection?: string
    db: string

    Methods

    +

    Returns MongoDBNamespace

    Properties

    collection?: string
    db: string

    Methods

    diff --git a/docs/Next/classes/ServerSession.html b/docs/Next/classes/ServerSession.html index 1a13b8b6fc..60f674f2e2 100644 --- a/docs/Next/classes/ServerSession.html +++ b/docs/Next/classes/ServerSession.html @@ -1,10 +1,10 @@ ServerSession | mongodb

    Class ServerSession

    Reflects the existence of a session on the server. Can be reused by the session pool. WARNING: not meant to be instantiated directly. For internal use only.

    -

    Properties

    id +

    Properties

    isDirty: boolean
    lastUse: number
    txnNumber: number

    Methods

    • Determines if the server session has timed out.

      +

    Properties

    isDirty: boolean
    lastUse: number
    txnNumber: number

    Methods

    • Determines if the server session has timed out.

      Parameters

      • sessionTimeoutMinutes: number

        The server's "logicalSessionTimeoutMinutes"

        -

      Returns boolean

    +

    Returns boolean

    diff --git a/docs/Next/functions/BSON.calculateObjectSize.html b/docs/Next/functions/BSON.calculateObjectSize.html index d77d78e51f..6f8b17f217 100644 --- a/docs/Next/functions/BSON.calculateObjectSize.html +++ b/docs/Next/functions/BSON.calculateObjectSize.html @@ -1,4 +1,4 @@ calculateObjectSize | mongodb

    Function calculateObjectSize

    • Calculate the bson size for a passed in Javascript object.

      Parameters

      Returns number

      size of BSON object in bytes

      -
    +
    diff --git a/docs/Next/functions/BSON.deserialize.html b/docs/Next/functions/BSON.deserialize.html index aa2d0452b1..fd0e75a69a 100644 --- a/docs/Next/functions/BSON.deserialize.html +++ b/docs/Next/functions/BSON.deserialize.html @@ -1,4 +1,4 @@ deserialize | mongodb

    Function deserialize

    • Deserialize data as BSON.

      Parameters

      • buffer: Uint8Array<ArrayBufferLike>

        the buffer containing the serialized set of BSON documents.

      • Optionaloptions: DeserializeOptions

      Returns Document

      returns the deserialized Javascript Object.

      -
    +
    diff --git a/docs/Next/functions/BSON.deserializeStream.html b/docs/Next/functions/BSON.deserializeStream.html index 29ad14286f..3921dea03c 100644 --- a/docs/Next/functions/BSON.deserializeStream.html +++ b/docs/Next/functions/BSON.deserializeStream.html @@ -6,4 +6,4 @@
  • docStartIndex: number

    the index in the documents array from where to start inserting documents.

  • options: DeserializeOptions

    additional options used for the deserialization.

  • Returns number

    next index in the buffer after deserialization x numbers of documents.

    -
    +
    diff --git a/docs/Next/functions/BSON.serialize.html b/docs/Next/functions/BSON.serialize.html index a4f8135e72..4052e182d1 100644 --- a/docs/Next/functions/BSON.serialize.html +++ b/docs/Next/functions/BSON.serialize.html @@ -1,4 +1,4 @@ serialize | mongodb

    Function serialize

    • Serialize a Javascript object.

      Parameters

      Returns Uint8Array

      Buffer object containing the serialized object.

      -
    +
    diff --git a/docs/Next/functions/BSON.serializeWithBufferAndIndex.html b/docs/Next/functions/BSON.serializeWithBufferAndIndex.html index 8ca23321b5..0954402c29 100644 --- a/docs/Next/functions/BSON.serializeWithBufferAndIndex.html +++ b/docs/Next/functions/BSON.serializeWithBufferAndIndex.html @@ -3,4 +3,4 @@

    Parameters

    • object: Document

      the Javascript object to serialize.

    • finalBuffer: Uint8Array<ArrayBufferLike>

      the Buffer you pre-allocated to store the serialized BSON object.

    • Optionaloptions: SerializeOptions

    Returns number

    the index pointing to the last written byte in the buffer.

    -
    +
    diff --git a/docs/Next/functions/BSON.setInternalBufferSize.html b/docs/Next/functions/BSON.setInternalBufferSize.html index 37dc92074f..45dc82cb76 100644 --- a/docs/Next/functions/BSON.setInternalBufferSize.html +++ b/docs/Next/functions/BSON.setInternalBufferSize.html @@ -1,3 +1,3 @@ setInternalBufferSize | mongodb

    Function setInternalBufferSize

    • Sets the size of the internal serialization buffer.

      Parameters

      • size: number

        The desired size for the internal serialization buffer in bytes

        -

      Returns void

    +

    Returns void

    diff --git a/docs/Next/interfaces/AWSEncryptionKeyOptions.html b/docs/Next/interfaces/AWSEncryptionKeyOptions.html index e512287e77..6d4e7fdb33 100644 --- a/docs/Next/interfaces/AWSEncryptionKeyOptions.html +++ b/docs/Next/interfaces/AWSEncryptionKeyOptions.html @@ -1,8 +1,8 @@ AWSEncryptionKeyOptions | mongodb

    Interface AWSEncryptionKeyOptions

    Configuration options for making an AWS encryption key

    -
    interface AWSEncryptionKeyOptions {
        endpoint?: string;
        key: string;
        region: string;
    }

    Properties

    interface AWSEncryptionKeyOptions {
        endpoint?: string;
        key: string;
        region: string;
    }

    Properties

    Properties

    endpoint?: string

    An alternate host to send KMS requests to. May include port number.

    -
    key: string

    The Amazon Resource Name (ARN) to the AWS customer master key (CMK)

    -
    region: string

    The AWS region of the KMS

    -
    +
    key: string

    The Amazon Resource Name (ARN) to the AWS customer master key (CMK)

    +
    region: string

    The AWS region of the KMS

    +
    diff --git a/docs/Next/interfaces/AbstractCursorOptions.html b/docs/Next/interfaces/AbstractCursorOptions.html index 52d85ee67d..1bb475fe0e 100644 --- a/docs/Next/interfaces/AbstractCursorOptions.html +++ b/docs/Next/interfaces/AbstractCursorOptions.html @@ -28,29 +28,29 @@
    batchSize?: number

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

    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    comment?: unknown

    Comment to apply to the operation.

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

    +
    fieldsAsRaw?: Document

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

    null

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

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

    true

    -
    maxAwaitTimeMS?: number

    When applicable maxAwaitTimeMS controls the amount of time subsequent getMores +

    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.

    false

    -
    promoteLongs?: boolean

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

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

    +
    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 +

    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. @@ -61,9 +61,9 @@

    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

    +
    readConcern?: ReadConcernLike
    readPreference?: ReadPreferenceLike
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession
    tailable?: boolean

    By default, MongoDB will automatically close a cursor when the +

    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.

    @@ -84,4 +84,4 @@
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error. See AbstractCursorOptions.timeoutMode for more details on how this option applies to cursors.

    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    +
    diff --git a/docs/Next/interfaces/AggregateOptions.html b/docs/Next/interfaces/AggregateOptions.html index 72df620ed5..383bef8b03 100644 --- a/docs/Next/interfaces/AggregateOptions.html +++ b/docs/Next/interfaces/AggregateOptions.html @@ -33,35 +33,35 @@
    authdb?: string
    batchSize?: number

    The number of documents to return per batch. See aggregation documentation.

    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    +
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Specify collation.

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

    +

    Specifies the verbosity mode for the explain output.

    This API is deprecated in favor of collection.aggregate().explain() or db.aggregate().explain().

    fieldsAsRaw?: Document

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

    null

    -
    hint?: Hint

    Add an index selection hint to an aggregation command

    +
    hint?: Hint

    Add an index selection hint to an aggregation command

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

    +
    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 tailable cursor 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.

    out?: string
    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.

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

    +
    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 +

    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. @@ -72,13 +72,13 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    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

    Write Concern as an object

    +
    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/AggregationCursorOptions.html b/docs/Next/interfaces/AggregationCursorOptions.html index b59d05d7e6..f3c91fc117 100644 --- a/docs/Next/interfaces/AggregationCursorOptions.html +++ b/docs/Next/interfaces/AggregationCursorOptions.html @@ -41,37 +41,37 @@
    batchSize?: number

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

    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    +
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Specify collation.

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

    +

    Specifies the verbosity mode for the explain output.

    This API is deprecated in favor of collection.aggregate().explain() or db.aggregate().explain().

    fieldsAsRaw?: Document

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

    null

    -
    hint?: Hint

    Add an index selection hint to an aggregation command

    +
    hint?: Hint

    Add an index selection hint to an aggregation command

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

    +
    let?: Document

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

    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
    out?: string
    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.

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

    +
    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 +

    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. @@ -82,11 +82,11 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    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 @@ -108,5 +108,5 @@

    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error. See AbstractCursorOptions.timeoutMode for more details on how this option applies to cursors.

    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    +
    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/Auth.html b/docs/Next/interfaces/Auth.html index c863694184..9b2a0c18b2 100644 --- a/docs/Next/interfaces/Auth.html +++ b/docs/Next/interfaces/Auth.html @@ -1,5 +1,5 @@ -Auth | mongodb

    Interface Auth

    interface Auth {
        password?: string;
        username?: string;
    }

    Properties

    password? +Auth | mongodb

    Interface Auth

    interface Auth {
        password?: string;
        username?: string;
    }

    Properties

    Properties

    password?: string

    The password for auth

    -
    username?: string

    The username for auth

    -
    +
    username?: string

    The username for auth

    +
    diff --git a/docs/Next/interfaces/AzureEncryptionKeyOptions.html b/docs/Next/interfaces/AzureEncryptionKeyOptions.html index a2eac560af..e0dfd61386 100644 --- a/docs/Next/interfaces/AzureEncryptionKeyOptions.html +++ b/docs/Next/interfaces/AzureEncryptionKeyOptions.html @@ -1,8 +1,8 @@ AzureEncryptionKeyOptions | mongodb

    Interface AzureEncryptionKeyOptions

    Configuration options for making an Azure encryption key

    -
    interface AzureEncryptionKeyOptions {
        keyName: string;
        keyVaultEndpoint: string;
        keyVersion?: string;
    }

    Properties

    interface AzureEncryptionKeyOptions {
        keyName: string;
        keyVaultEndpoint: string;
        keyVersion?: string;
    }

    Properties

    keyName: string

    Key name

    -
    keyVaultEndpoint: string

    Key vault URL, typically <name>.vault.azure.net

    -
    keyVersion?: string

    Key version

    -
    +
    keyVaultEndpoint: string

    Key vault URL, typically <name>.vault.azure.net

    +
    keyVersion?: string

    Key version

    +
    diff --git a/docs/Next/interfaces/BSON.BSONRegExpExtended.html b/docs/Next/interfaces/BSON.BSONRegExpExtended.html index b44d79f4b0..d121050854 100644 --- a/docs/Next/interfaces/BSON.BSONRegExpExtended.html +++ b/docs/Next/interfaces/BSON.BSONRegExpExtended.html @@ -1,2 +1,2 @@ -BSONRegExpExtended | mongodb

    Interface BSONRegExpExtended

    interface BSONRegExpExtended {
        $regularExpression: {
            options: string;
            pattern: string;
        };
    }

    Properties

    Properties

    $regularExpression: {
        options: string;
        pattern: string;
    }
    +BSONRegExpExtended | mongodb

    Interface BSONRegExpExtended

    interface BSONRegExpExtended {
        $regularExpression: {
            options: string;
            pattern: string;
        };
    }

    Properties

    Properties

    $regularExpression: {
        options: string;
        pattern: string;
    }
    diff --git a/docs/Next/interfaces/BSON.BSONRegExpExtendedLegacy.html b/docs/Next/interfaces/BSON.BSONRegExpExtendedLegacy.html index 8d864acb72..1fa68a4510 100644 --- a/docs/Next/interfaces/BSON.BSONRegExpExtendedLegacy.html +++ b/docs/Next/interfaces/BSON.BSONRegExpExtendedLegacy.html @@ -1,3 +1,3 @@ -BSONRegExpExtendedLegacy | mongodb

    Interface BSONRegExpExtendedLegacy

    interface BSONRegExpExtendedLegacy {
        $options: string;
        $regex: string | BSONRegExp;
    }

    Properties

    $options +BSONRegExpExtendedLegacy | mongodb

    Interface BSONRegExpExtendedLegacy

    interface BSONRegExpExtendedLegacy {
        $options: string;
        $regex: string | BSONRegExp;
    }

    Properties

    Properties

    $options: string
    $regex: string | BSONRegExp
    +

    Properties

    $options: string
    $regex: string | BSONRegExp
    diff --git a/docs/Next/interfaces/BSON.BSONSymbolExtended.html b/docs/Next/interfaces/BSON.BSONSymbolExtended.html index f2e26c4cb2..70aec76af5 100644 --- a/docs/Next/interfaces/BSON.BSONSymbolExtended.html +++ b/docs/Next/interfaces/BSON.BSONSymbolExtended.html @@ -1,2 +1,2 @@ -BSONSymbolExtended | mongodb

    Interface BSONSymbolExtended

    interface BSONSymbolExtended {
        $symbol: string;
    }

    Properties

    Properties

    $symbol: string
    +BSONSymbolExtended | mongodb

    Interface BSONSymbolExtended

    interface BSONSymbolExtended {
        $symbol: string;
    }

    Properties

    Properties

    $symbol: string
    diff --git a/docs/Next/interfaces/BSON.CodeExtended.html b/docs/Next/interfaces/BSON.CodeExtended.html index b49e06b8d3..ea2b861a82 100644 --- a/docs/Next/interfaces/BSON.CodeExtended.html +++ b/docs/Next/interfaces/BSON.CodeExtended.html @@ -1,3 +1,3 @@ -CodeExtended | mongodb

    Interface CodeExtended

    interface CodeExtended {
        $code: string;
        $scope?: Document;
    }

    Properties

    $code +CodeExtended | mongodb

    Interface CodeExtended

    interface CodeExtended {
        $code: string;
        $scope?: Document;
    }

    Properties

    Properties

    $code: string
    $scope?: Document
    +

    Properties

    $code: string
    $scope?: Document
    diff --git a/docs/Next/interfaces/BSON.DBRefLike.html b/docs/Next/interfaces/BSON.DBRefLike.html index 055da40ffb..8f8bd81c0b 100644 --- a/docs/Next/interfaces/BSON.DBRefLike.html +++ b/docs/Next/interfaces/BSON.DBRefLike.html @@ -1,4 +1,4 @@ -DBRefLike | mongodb

    Interface DBRefLike

    interface DBRefLike {
        $db?: string;
        $id: ObjectId;
        $ref: string;
    }

    Properties

    $db? +DBRefLike | mongodb

    Interface DBRefLike

    interface DBRefLike {
        $db?: string;
        $id: ObjectId;
        $ref: string;
    }

    Properties

    Properties

    $db?: string
    $ref: string
    +

    Properties

    $db?: string
    $ref: string
    diff --git a/docs/Next/interfaces/BSON.Decimal128Extended.html b/docs/Next/interfaces/BSON.Decimal128Extended.html index eeb4eb44e5..2ffa5a6990 100644 --- a/docs/Next/interfaces/BSON.Decimal128Extended.html +++ b/docs/Next/interfaces/BSON.Decimal128Extended.html @@ -1,2 +1,2 @@ -Decimal128Extended | mongodb

    Interface Decimal128Extended

    interface Decimal128Extended {
        $numberDecimal: string;
    }

    Properties

    Properties

    $numberDecimal: string
    +Decimal128Extended | mongodb

    Interface Decimal128Extended

    interface Decimal128Extended {
        $numberDecimal: string;
    }

    Properties

    Properties

    $numberDecimal: string
    diff --git a/docs/Next/interfaces/BSON.DeserializeOptions.html b/docs/Next/interfaces/BSON.DeserializeOptions.html index 358c4b4a84..1f92c8f651 100644 --- a/docs/Next/interfaces/BSON.DeserializeOptions.html +++ b/docs/Next/interfaces/BSON.DeserializeOptions.html @@ -1,4 +1,4 @@ -DeserializeOptions | mongodb

    Interface DeserializeOptions

    interface DeserializeOptions {
        allowObjectSmallerThanBufferSize?: boolean;
        bsonRegExp?: boolean;
        fieldsAsRaw?: Document;
        index?: number;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        useBigInt64?: boolean;
        validation?: {
            utf8: boolean | Record<string, true> | Record<string, false>;
        };
    }

    Properties

    allowObjectSmallerThanBufferSize? +DeserializeOptions | mongodb

    Interface DeserializeOptions

    interface DeserializeOptions {
        allowObjectSmallerThanBufferSize?: boolean;
        bsonRegExp?: boolean;
        fieldsAsRaw?: Document;
        index?: number;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        useBigInt64?: boolean;
        validation?: {
            utf8: boolean | Record<string, true> | Record<string, false>;
        };
    }

    Properties

    allowObjectSmallerThanBufferSize?: boolean

    allows the buffer to be larger than the parsed BSON object.

    false

    -
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    fieldsAsRaw?: Document

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

    +
    fieldsAsRaw?: Document

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

    null

    -
    index?: number

    Offset into buffer to begin reading document from

    +
    index?: number

    Offset into buffer to begin reading document from

    0

    -
    promoteBuffers?: boolean

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

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

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

    +
    promoteValues?: boolean

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

    true

    -
    raw?: boolean
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    raw?: boolean
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    validation?: {
        utf8: boolean | Record<string, true> | Record<string, false>;
    }

    Allows for opt-out utf-8 validation for all keys or +

    validation?: {
        utf8: boolean | Record<string, true> | Record<string, false>;
    }

    Allows for opt-out utf-8 validation for all keys or specified keys. Must be all true or all false.

    // disables validation on all keys
    validation: { utf8: false }

    // enables validation only on specified keys a, b, and c
    validation: { utf8: { a: true, b: true, c: true } }

    // disables validation only on specified keys a, b
    validation: { utf8: { a: false, b: false } }
    -
    +
    diff --git a/docs/Next/interfaces/BSON.Document.html b/docs/Next/interfaces/BSON.Document.html index 6d929fe12e..d506c962cd 100644 --- a/docs/Next/interfaces/BSON.Document.html +++ b/docs/Next/interfaces/BSON.Document.html @@ -1 +1 @@ -Document | mongodb
    +Document | mongodb
    diff --git a/docs/Next/interfaces/BSON.DoubleExtended.html b/docs/Next/interfaces/BSON.DoubleExtended.html index 9e7318c976..47879ffc78 100644 --- a/docs/Next/interfaces/BSON.DoubleExtended.html +++ b/docs/Next/interfaces/BSON.DoubleExtended.html @@ -1,2 +1,2 @@ -DoubleExtended | mongodb

    Interface DoubleExtended

    interface DoubleExtended {
        $numberDouble: string;
    }

    Properties

    Properties

    $numberDouble: string
    +DoubleExtended | mongodb

    Interface DoubleExtended

    interface DoubleExtended {
        $numberDouble: string;
    }

    Properties

    Properties

    $numberDouble: string
    diff --git a/docs/Next/interfaces/BSON.Int32Extended.html b/docs/Next/interfaces/BSON.Int32Extended.html index 511e991fc6..348c1d4abc 100644 --- a/docs/Next/interfaces/BSON.Int32Extended.html +++ b/docs/Next/interfaces/BSON.Int32Extended.html @@ -1,2 +1,2 @@ -Int32Extended | mongodb

    Interface Int32Extended

    interface Int32Extended {
        $numberInt: string;
    }

    Properties

    Properties

    $numberInt: string
    +Int32Extended | mongodb

    Interface Int32Extended

    interface Int32Extended {
        $numberInt: string;
    }

    Properties

    Properties

    $numberInt: string
    diff --git a/docs/Next/interfaces/BSON.LongExtended.html b/docs/Next/interfaces/BSON.LongExtended.html index 49d8bb8448..0519941399 100644 --- a/docs/Next/interfaces/BSON.LongExtended.html +++ b/docs/Next/interfaces/BSON.LongExtended.html @@ -1,2 +1,2 @@ -LongExtended | mongodb

    Interface LongExtended

    interface LongExtended {
        $numberLong: string;
    }

    Properties

    Properties

    $numberLong: string
    +LongExtended | mongodb

    Interface LongExtended

    interface LongExtended {
        $numberLong: string;
    }

    Properties

    Properties

    $numberLong: string
    diff --git a/docs/Next/interfaces/BSON.MaxKeyExtended.html b/docs/Next/interfaces/BSON.MaxKeyExtended.html index b07d105104..ae1b735f86 100644 --- a/docs/Next/interfaces/BSON.MaxKeyExtended.html +++ b/docs/Next/interfaces/BSON.MaxKeyExtended.html @@ -1,2 +1,2 @@ -MaxKeyExtended | mongodb

    Interface MaxKeyExtended

    interface MaxKeyExtended {
        $maxKey: 1;
    }

    Properties

    Properties

    $maxKey: 1
    +MaxKeyExtended | mongodb

    Interface MaxKeyExtended

    interface MaxKeyExtended {
        $maxKey: 1;
    }

    Properties

    Properties

    $maxKey: 1
    diff --git a/docs/Next/interfaces/BSON.MinKeyExtended.html b/docs/Next/interfaces/BSON.MinKeyExtended.html index dbc19d609c..9de73a23fa 100644 --- a/docs/Next/interfaces/BSON.MinKeyExtended.html +++ b/docs/Next/interfaces/BSON.MinKeyExtended.html @@ -1,2 +1,2 @@ -MinKeyExtended | mongodb

    Interface MinKeyExtended

    interface MinKeyExtended {
        $minKey: 1;
    }

    Properties

    Properties

    $minKey: 1
    +MinKeyExtended | mongodb

    Interface MinKeyExtended

    interface MinKeyExtended {
        $minKey: 1;
    }

    Properties

    Properties

    $minKey: 1
    diff --git a/docs/Next/interfaces/BSON.ObjectIdExtended.html b/docs/Next/interfaces/BSON.ObjectIdExtended.html index f45c801f14..f1a69142c9 100644 --- a/docs/Next/interfaces/BSON.ObjectIdExtended.html +++ b/docs/Next/interfaces/BSON.ObjectIdExtended.html @@ -1,2 +1,2 @@ -ObjectIdExtended | mongodb

    Interface ObjectIdExtended

    interface ObjectIdExtended {
        $oid: string;
    }

    Properties

    Properties

    $oid: string
    +ObjectIdExtended | mongodb

    Interface ObjectIdExtended

    interface ObjectIdExtended {
        $oid: string;
    }

    Properties

    Properties

    $oid: string
    diff --git a/docs/Next/interfaces/BSON.ObjectIdLike.html b/docs/Next/interfaces/BSON.ObjectIdLike.html index 996e2b4777..f5bbe73797 100644 --- a/docs/Next/interfaces/BSON.ObjectIdLike.html +++ b/docs/Next/interfaces/BSON.ObjectIdLike.html @@ -1,4 +1,4 @@ -ObjectIdLike | mongodb

    Interface ObjectIdLike

    interface ObjectIdLike {
        __id?: string;
        id: string | Uint8Array<ArrayBufferLike>;
        toHexString(): string;
    }

    Properties

    __id? +ObjectIdLike | mongodb

    Interface ObjectIdLike

    interface ObjectIdLike {
        __id?: string;
        id: string | Uint8Array<ArrayBufferLike>;
        toHexString(): string;
    }

    Properties

    Methods

    Properties

    __id?: string
    id: string | Uint8Array<ArrayBufferLike>

    Methods

    • Returns string

    +

    Properties

    __id?: string
    id: string | Uint8Array<ArrayBufferLike>

    Methods

    • Returns string

    diff --git a/docs/Next/interfaces/BSON.SerializeOptions.html b/docs/Next/interfaces/BSON.SerializeOptions.html index b0bb2bbe8c..00e2846005 100644 --- a/docs/Next/interfaces/BSON.SerializeOptions.html +++ b/docs/Next/interfaces/BSON.SerializeOptions.html @@ -1,14 +1,14 @@ -SerializeOptions | mongodb

    Interface SerializeOptions

    interface SerializeOptions {
        checkKeys?: boolean;
        ignoreUndefined?: boolean;
        index?: number;
        serializeFunctions?: boolean;
    }

    Properties

    checkKeys? +SerializeOptions | mongodb

    Interface SerializeOptions

    interface SerializeOptions {
        checkKeys?: boolean;
        ignoreUndefined?: boolean;
        index?: number;
        serializeFunctions?: boolean;
    }

    Properties

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

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

    true

    -
    index?: number

    the index in the buffer where we wish to start serializing into

    +
    index?: number

    the index in the buffer where we wish to start serializing into

    0

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    +
    diff --git a/docs/Next/interfaces/BSON.TimestampExtended.html b/docs/Next/interfaces/BSON.TimestampExtended.html index 69b198fa1b..ae2def0593 100644 --- a/docs/Next/interfaces/BSON.TimestampExtended.html +++ b/docs/Next/interfaces/BSON.TimestampExtended.html @@ -1,2 +1,2 @@ -TimestampExtended | mongodb

    Interface TimestampExtended

    interface TimestampExtended {
        $timestamp: {
            i: number;
            t: number;
        };
    }

    Properties

    Properties

    $timestamp: {
        i: number;
        t: number;
    }
    +TimestampExtended | mongodb

    Interface TimestampExtended

    interface TimestampExtended {
        $timestamp: {
            i: number;
            t: number;
        };
    }

    Properties

    Properties

    $timestamp: {
        i: number;
        t: number;
    }
    diff --git a/docs/Next/interfaces/BSONSerializeOptions.html b/docs/Next/interfaces/BSONSerializeOptions.html index aa3cc4c880..d59f4f0472 100644 --- a/docs/Next/interfaces/BSONSerializeOptions.html +++ b/docs/Next/interfaces/BSONSerializeOptions.html @@ -1,5 +1,5 @@ BSONSerializeOptions | mongodb

    Interface BSONSerializeOptions

    BSON Serialization options.

    -
    interface BSONSerializeOptions {
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        serializeFunctions?: boolean;
        useBigInt64?: boolean;
    }

    Hierarchy (view full)

    Properties

    interface BSONSerializeOptions {
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        serializeFunctions?: boolean;
        useBigInt64?: boolean;
    }

    Hierarchy (view full)

    Properties

    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

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

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

    null

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

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

    true

    -
    promoteBuffers?: boolean

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

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

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

    +
    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 +

    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. @@ -37,8 +37,8 @@

    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.

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    +
    diff --git a/docs/Next/interfaces/BulkWriteOptions.html b/docs/Next/interfaces/BulkWriteOptions.html index 24b5a4f0eb..11cff28b8e 100644 --- a/docs/Next/interfaces/BulkWriteOptions.html +++ b/docs/Next/interfaces/BulkWriteOptions.html @@ -27,36 +27,36 @@ writeConcern?

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    +
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    false - documents will be validated by default

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    +
    collation?: CollationOptions

    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.

    dbName?: string
    enableUtf8Validation?: boolean

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

    -

    Specifies the verbosity mode for the explain output.

    +

    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.

    null

    -
    forceServerObjectId?: boolean

    Force server to assign _id values instead of driver.

    +
    forceServerObjectId?: boolean

    Force server to assign _id values instead of driver.

    false - the driver generates _id fields by default

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

    +
    let?: Document

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

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    ordered?: boolean

    If true, when an insert fails, don't execute the remaining writes. If false, continue with remaining inserts when one fails.

    true - inserts are ordered by default

    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.

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

    +
    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 +

    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. @@ -67,13 +67,13 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    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

    Write Concern as an object

    +
    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/ChangeStreamOptions.html b/docs/Next/interfaces/ChangeStreamOptions.html index 78836ac932..1ebe4d8c47 100644 --- a/docs/Next/interfaces/ChangeStreamOptions.html +++ b/docs/Next/interfaces/ChangeStreamOptions.html @@ -40,22 +40,22 @@
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    +
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Specify collation.

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

    +

    Specifies the verbosity mode for the explain output.

    This API is deprecated in favor of collection.aggregate().explain() or db.aggregate().explain().

    fieldsAsRaw?: Document

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

    null

    -
    fullDocument?: string

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

    +
    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 @@ -76,16 +76,16 @@

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

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

    out?: string
    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.

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

    +
    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 +

    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. @@ -96,13 +96,13 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    showExpandedEvents?: boolean

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

    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
    +
    willRetryWrite?: boolean
    diff --git a/docs/Next/interfaces/ClientBulkWriteOptions.html b/docs/Next/interfaces/ClientBulkWriteOptions.html index 94a849764d..133698da44 100644 --- a/docs/Next/interfaces/ClientBulkWriteOptions.html +++ b/docs/Next/interfaces/ClientBulkWriteOptions.html @@ -27,34 +27,34 @@ writeConcern?

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    +
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    false - documents will be validated by default

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    +
    collation?: CollationOptions

    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.

    dbName?: string
    enableUtf8Validation?: boolean

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

    -

    Specifies the verbosity mode for the explain output.

    +

    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.

    null

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

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

    +
    let?: Document

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

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    ordered?: boolean

    If true, when an insert fails, don't execute the remaining writes. If false, continue with remaining inserts when one fails.

    true - inserts are ordered by default

    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.

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

    +
    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 +

    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. @@ -65,15 +65,15 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    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

    -
    verboseResults?: boolean

    Whether detailed results for each successful operation should be included in the returned +

    verboseResults?: boolean

    Whether detailed results for each successful operation should be included in the returned BulkWriteResult.

    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/ClientEncryptionCreateDataKeyProviderOptions.html b/docs/Next/interfaces/ClientEncryptionCreateDataKeyProviderOptions.html index a7b66dd28b..0822225059 100644 --- a/docs/Next/interfaces/ClientEncryptionCreateDataKeyProviderOptions.html +++ b/docs/Next/interfaces/ClientEncryptionCreateDataKeyProviderOptions.html @@ -1,8 +1,8 @@ ClientEncryptionCreateDataKeyProviderOptions | mongodb

    Interface ClientEncryptionCreateDataKeyProviderOptions

    Options to provide when creating a new data key.

    -
    interface ClientEncryptionCreateDataKeyProviderOptions {
        keyAltNames?: string[];
        keyMaterial?: Buffer<ArrayBufferLike> | Binary;
        masterKey?:
            | AWSEncryptionKeyOptions
            | AzureEncryptionKeyOptions
            | GCPEncryptionKeyOptions
            | KMIPEncryptionKeyOptions;
    }

    Properties

    interface ClientEncryptionCreateDataKeyProviderOptions {
        keyAltNames?: string[];
        keyMaterial?: Buffer<ArrayBufferLike> | Binary;
        masterKey?:
            | AWSEncryptionKeyOptions
            | AzureEncryptionKeyOptions
            | GCPEncryptionKeyOptions
            | KMIPEncryptionKeyOptions;
    }

    Properties

    keyAltNames?: string[]

    An optional list of string alternate names used to reference a key. If a key is created with alternate names, then encryption may refer to the key by the unique alternate name instead of by _id.

    -
    keyMaterial?: Buffer<ArrayBufferLike> | Binary

    Identifies a new KMS-specific key used to encrypt the new data key

    -
    +
    keyMaterial?: Buffer<ArrayBufferLike> | Binary

    Identifies a new KMS-specific key used to encrypt the new data key

    +
    diff --git a/docs/Next/interfaces/ClientEncryptionEncryptOptions.html b/docs/Next/interfaces/ClientEncryptionEncryptOptions.html index 5a2d4e6ace..9c9d344b12 100644 --- a/docs/Next/interfaces/ClientEncryptionEncryptOptions.html +++ b/docs/Next/interfaces/ClientEncryptionEncryptOptions.html @@ -1,5 +1,5 @@ ClientEncryptionEncryptOptions | mongodb

    Interface ClientEncryptionEncryptOptions

    Options to provide when encrypting data.

    -
    interface ClientEncryptionEncryptOptions {
        algorithm:
            | "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
            | "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
            | "Indexed"
            | "Unindexed"
            | "Range"
            | "TextPreview";
        contentionFactor?: number | bigint;
        keyAltName?: string;
        keyId?: Binary;
        queryType?:
            | "equality"
            | "range"
            | "prefixPreview"
            | "suffixPreview"
            | "substringPreview";
        rangeOptions?: RangeOptions;
        textOptions?: TextQueryOptions;
    }

    Properties

    interface ClientEncryptionEncryptOptions {
        algorithm:
            | "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
            | "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
            | "Indexed"
            | "Unindexed"
            | "Range"
            | "TextPreview";
        contentionFactor?: number | bigint;
        keyAltName?: string;
        keyId?: Binary;
        queryType?:
            | "equality"
            | "range"
            | "prefixPreview"
            | "suffixPreview"
            | "substringPreview";
        rangeOptions?: RangeOptions;
        textOptions?: TextQueryOptions;
    }

    Properties

    algorithm:
        | "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
        | "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
        | "Indexed"
        | "Unindexed"
        | "Range"
        | "TextPreview"

    The algorithm to use for encryption.

    -
    contentionFactor?: number | bigint

    The contention factor.

    -
    keyAltName?: string

    A unique string name corresponding to an already existing dataKey.

    -
    keyId?: Binary

    The id of the Binary dataKey to use for encryption

    -
    queryType?:
        | "equality"
        | "range"
        | "prefixPreview"
        | "suffixPreview"
        | "substringPreview"

    The query type.

    -
    rangeOptions?: RangeOptions

    The index options for a Queryable Encryption field supporting "range" queries.

    -
    textOptions?: TextQueryOptions

    Options for a Queryable Encryption field supporting text queries. Only valid when algorithm is TextPreview.

    +
    contentionFactor?: number | bigint

    The contention factor.

    +
    keyAltName?: string

    A unique string name corresponding to an already existing dataKey.

    +
    keyId?: Binary

    The id of the Binary dataKey to use for encryption

    +
    queryType?:
        | "equality"
        | "range"
        | "prefixPreview"
        | "suffixPreview"
        | "substringPreview"

    The query type.

    +
    rangeOptions?: RangeOptions

    The index options for a Queryable Encryption field supporting "range" queries.

    +
    textOptions?: TextQueryOptions

    Options for a Queryable Encryption field supporting text queries. Only valid when algorithm is TextPreview.

    Public Technical Preview: textPreview is an experimental feature and may break at any time.

    -
    +
    diff --git a/docs/Next/interfaces/ClientEncryptionOptions.html b/docs/Next/interfaces/ClientEncryptionOptions.html index 24f556e0be..1a66d8d693 100644 --- a/docs/Next/interfaces/ClientEncryptionOptions.html +++ b/docs/Next/interfaces/ClientEncryptionOptions.html @@ -1,5 +1,5 @@ ClientEncryptionOptions | mongodb

    Interface ClientEncryptionOptions

    Additional settings to provide when creating a new ClientEncryption instance.

    -
    interface ClientEncryptionOptions {
        credentialProviders?: CredentialProviders;
        keyExpirationMS?: number;
        keyVaultClient?: MongoClient;
        keyVaultNamespace: string;
        kmsProviders?: KMSProviders;
        proxyOptions?: ProxyOptions;
        timeoutMS?: number;
        tlsOptions?: CSFLEKMSTlsOptions;
    }

    Properties

    interface ClientEncryptionOptions {
        credentialProviders?: CredentialProviders;
        keyExpirationMS?: number;
        keyVaultClient?: MongoClient;
        keyVaultNamespace: string;
        kmsProviders?: KMSProviders;
        proxyOptions?: ProxyOptions;
        timeoutMS?: number;
        tlsOptions?: CSFLEKMSTlsOptions;
    }

    Properties

    credentialProviders?: CredentialProviders

    Options for user provided custom credential providers.

    -
    keyExpirationMS?: number

    Sets the expiration time for the DEK in the cache in milliseconds. Defaults to 60000. 0 means no timeout.

    -
    keyVaultClient?: MongoClient

    A MongoClient used to fetch keys from a key vault. Defaults to client.

    -
    keyVaultNamespace: string

    The namespace of the key vault, used to store encryption keys

    -
    kmsProviders?: KMSProviders

    Options for specific KMS providers to use

    -
    proxyOptions?: ProxyOptions

    Options for specifying a Socks5 proxy to use for connecting to the KMS.

    -
    timeoutMS?: number

    The timeout setting to be used for all the operations on ClientEncryption.

    +
    keyExpirationMS?: number

    Sets the expiration time for the DEK in the cache in milliseconds. Defaults to 60000. 0 means no timeout.

    +
    keyVaultClient?: MongoClient

    A MongoClient used to fetch keys from a key vault. Defaults to client.

    +
    keyVaultNamespace: string

    The namespace of the key vault, used to store encryption keys

    +
    kmsProviders?: KMSProviders

    Options for specific KMS providers to use

    +
    proxyOptions?: ProxyOptions

    Options for specifying a Socks5 proxy to use for connecting to the KMS.

    +
    timeoutMS?: number

    The timeout setting to be used for all the operations on ClientEncryption.

    When provided, timeoutMS is used as the timeout for each operation executed on the ClientEncryption object. For example:

    const clientEncryption = new ClientEncryption(client, {
    timeoutMS: 1_000
    kmsProviders: { local: { key: '<KEY>' } }
    });

    // `1_000` is used as the timeout for createDataKey call
    await clientEncryption.createDataKey('local'); @@ -24,5 +24,5 @@
    const client = new MongoClient('<uri>', { timeoutMS: 2_000 });

    // timeoutMS is set to 1_000 on clientEncryption
    const clientEncryption = new ClientEncryption(client, {
    timeoutMS: 1_000
    kmsProviders: { local: { key: '<KEY>' } }
    });
    -
    tlsOptions?: CSFLEKMSTlsOptions

    TLS options for kms providers to use.

    -
    +
    tlsOptions?: CSFLEKMSTlsOptions

    TLS options for kms providers to use.

    +
    diff --git a/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyProviderOptions.html b/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyProviderOptions.html index 93a50651eb..9979030263 100644 --- a/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyProviderOptions.html +++ b/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyProviderOptions.html @@ -1,3 +1,3 @@ -ClientEncryptionRewrapManyDataKeyProviderOptions | mongodb

    Interface ClientEncryptionRewrapManyDataKeyProviderOptionsExperimental

    interface ClientEncryptionRewrapManyDataKeyProviderOptions {
        masterKey?:
            | AWSEncryptionKeyOptions
            | AzureEncryptionKeyOptions
            | GCPEncryptionKeyOptions
            | KMIPEncryptionKeyOptions;
        provider: keyof KMSProviders;
    }

    Properties

    masterKey? +ClientEncryptionRewrapManyDataKeyProviderOptions | mongodb

    Interface ClientEncryptionRewrapManyDataKeyProviderOptionsExperimental

    interface ClientEncryptionRewrapManyDataKeyProviderOptions {
        masterKey?:
            | AWSEncryptionKeyOptions
            | AzureEncryptionKeyOptions
            | GCPEncryptionKeyOptions
            | KMIPEncryptionKeyOptions;
        provider: keyof KMSProviders;
    }

    Properties

    Properties

    provider: keyof KMSProviders
    +

    Properties

    provider: keyof KMSProviders
    diff --git a/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyResult.html b/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyResult.html index 18b7092f4d..fa0e700f10 100644 --- a/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyResult.html +++ b/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyResult.html @@ -1,3 +1,3 @@ -ClientEncryptionRewrapManyDataKeyResult | mongodb

    Interface ClientEncryptionRewrapManyDataKeyResultExperimental

    interface ClientEncryptionRewrapManyDataKeyResult {
        bulkWriteResult?: BulkWriteResult;
    }

    Properties

    bulkWriteResult? +ClientEncryptionRewrapManyDataKeyResult | mongodb

    Interface ClientEncryptionRewrapManyDataKeyResultExperimental

    interface ClientEncryptionRewrapManyDataKeyResult {
        bulkWriteResult?: BulkWriteResult;
    }

    Properties

    Properties

    bulkWriteResult?: BulkWriteResult

    The result of rewrapping data keys. If unset, no keys matched the filter.

    -
    +
    diff --git a/docs/Next/interfaces/CollectionOptions.html b/docs/Next/interfaces/CollectionOptions.html index 208831be96..6d3f73a842 100644 --- a/docs/Next/interfaces/CollectionOptions.html +++ b/docs/Next/interfaces/CollectionOptions.html @@ -15,21 +15,21 @@ writeConcern?

    Properties

    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

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

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

    null

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

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

    true

    -
    promoteBuffers?: boolean

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

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

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

    +
    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 +

    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. @@ -40,12 +40,12 @@

    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 for the collection. (only MongoDB 3.2 or higher supported)

    +
    readConcern?: ReadConcernLike

    Specify a read concern 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).

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    timeoutMS?: number

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

    +
    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

    -

    Write Concern as an object

    +

    Write Concern as an object

    diff --git a/docs/Next/interfaces/CommandOperationOptions.html b/docs/Next/interfaces/CommandOperationOptions.html index a06152de63..fb5e4ce70e 100644 --- a/docs/Next/interfaces/CommandOperationOptions.html +++ b/docs/Next/interfaces/CommandOperationOptions.html @@ -23,28 +23,28 @@ writeConcern?

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    +
    collation?: CollationOptions

    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.

    dbName?: string
    enableUtf8Validation?: boolean

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

    -

    Specifies the verbosity mode for the explain output.

    +

    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.

    null

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

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

    true

    -
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    +
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    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.

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

    +
    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 +

    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. @@ -55,13 +55,13 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    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

    Write Concern as an object

    +
    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/ConnectOptions.html b/docs/Next/interfaces/ConnectOptions.html index 5b0333f5d4..ff7971265c 100644 --- a/docs/Next/interfaces/ConnectOptions.html +++ b/docs/Next/interfaces/ConnectOptions.html @@ -1,2 +1,2 @@ -ConnectOptions | mongodb

    Interface ConnectOptions

    interface ConnectOptions {
        readPreference?: ReadPreference;
    }

    Properties

    Properties

    readPreference?: ReadPreference
    +ConnectOptions | mongodb

    Interface ConnectOptions

    interface ConnectOptions {
        readPreference?: ReadPreference;
    }

    Properties

    Properties

    readPreference?: ReadPreference
    diff --git a/docs/Next/interfaces/ConnectionOptions.html b/docs/Next/interfaces/ConnectionOptions.html index d11832c280..0628d3c290 100644 --- a/docs/Next/interfaces/ConnectionOptions.html +++ b/docs/Next/interfaces/ConnectionOptions.html @@ -1,4 +1,4 @@ -ConnectionOptions | mongodb

    Interface ConnectionOptions

    interface ConnectionOptions {
        allowPartialTrustChain?: boolean;
        ALPNProtocols?: readonly string[] | ArrayBufferView<ArrayBufferLike>;
        autoSelectFamily?: boolean;
        autoSelectFamilyAttemptTimeout?: number;
        ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        checkServerIdentity?: ((hostname: string, cert: PeerCertificate) => Error | undefined);
        ciphers?: string;
        compressors?: (
            | "none"
            | "snappy"
            | "zlib"
            | "zstd")[];
        connectTimeoutMS?: number;
        credentials?: MongoCredentials;
        crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        ecdhCurve?: string;
        family?: number;
        generation: number;
        hints?: number;
        hostAddress: HostAddress;
        id: number | "<monitor>";
        keepAliveInitialDelay?: number;
        key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[];
        loadBalanced: boolean;
        localAddress?: string;
        localPort?: number;
        logicalSessionTimeoutMinutes?: number;
        lookup?: LookupFunction;
        minDHSize?: number;
        monitorCommands: boolean;
        noDelay?: boolean;
        passphrase?: string;
        pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[];
        proxyHost?: string;
        proxyPassword?: string;
        proxyPort?: number;
        proxyUsername?: string;
        rejectUnauthorized?: boolean;
        secureContext?: SecureContext;
        secureProtocol?: string;
        serverApi?: ServerApi;
        servername?: string;
        session?: Buffer<ArrayBufferLike>;
        socketTimeoutMS?: number;
        tls: boolean;
    }

    Hierarchy (view full)

    Properties

    allowPartialTrustChain? +ConnectionOptions | mongodb

    Interface ConnectionOptions

    interface ConnectionOptions {
        allowPartialTrustChain?: boolean;
        ALPNProtocols?: readonly string[] | ArrayBufferView<ArrayBufferLike>;
        autoSelectFamily?: boolean;
        autoSelectFamilyAttemptTimeout?: number;
        ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        checkServerIdentity?: ((hostname: string, cert: PeerCertificate) => Error | undefined);
        ciphers?: string;
        compressors?: (
            | "none"
            | "snappy"
            | "zlib"
            | "zstd")[];
        connectTimeoutMS?: number;
        credentials?: MongoCredentials;
        crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        ecdhCurve?: string;
        family?: number;
        generation: number;
        hints?: number;
        hostAddress: HostAddress;
        id: number | "<monitor>";
        keepAliveInitialDelay?: number;
        key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[];
        loadBalanced: boolean;
        localAddress?: string;
        localPort?: number;
        logicalSessionTimeoutMinutes?: number;
        lookup?: LookupFunction;
        minDHSize?: number;
        monitorCommands: boolean;
        noDelay?: boolean;
        passphrase?: string;
        pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[];
        proxyHost?: string;
        proxyPassword?: string;
        proxyPort?: number;
        proxyUsername?: string;
        rejectUnauthorized?: boolean;
        secureContext?: SecureContext;
        secureProtocol?: string;
        serverApi?: ServerApi;
        servername?: string;
        session?: Buffer<ArrayBufferLike>;
        socketTimeoutMS?: number;
        tls: boolean;
    }

    Hierarchy (view full)

    Properties

    allowPartialTrustChain?: boolean

    Treat intermediate (non-self-signed) certificates in the trust CA certificate list as trusted.

    v22.9.0, v20.18.0

    -
    ALPNProtocols?: readonly string[] | ArrayBufferView<ArrayBufferLike>

    An array of strings or a Buffer naming possible ALPN protocols. +

    ALPNProtocols?: readonly string[] | ArrayBufferView<ArrayBufferLike>

    An array of strings or a Buffer naming possible ALPN protocols. (Protocols should be ordered by their priority.)

    autoSelectFamily?: boolean

    v18.13.0

    -
    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    -
    ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Optionally override the trusted CA certificates. Default is to trust +

    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    +
    ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Optionally override the trusted CA certificates. Default is to trust the well-known CAs curated by Mozilla. Mozilla's CAs are completely replaced when CAs are explicitly specified using this option.

    cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Cert chains in PEM format. One cert chain should be provided per @@ -79,7 +79,7 @@ information, see modifying the default cipher suite. Permitted ciphers can be obtained via tls.getCiphers(). Cipher names must be uppercased in order for OpenSSL to accept them.

    -
    compressors?: (
        | "none"
        | "snappy"
        | "zlib"
        | "zstd")[]
    connectTimeoutMS?: number
    credentials?: MongoCredentials
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    +
    compressors?: (
        | "none"
        | "snappy"
        | "zlib"
        | "zstd")[]
    connectTimeoutMS?: number
    credentials?: MongoCredentials
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    ecdhCurve?: string

    A string describing a named curve or a colon separated list of curve NIDs or names, for example P-521:P-384:P-256, to use for ECDH key agreement. Set to auto to select the curve automatically. Use @@ -87,8 +87,8 @@ recent releases, openssl ecparam -list_curves will also display the name and description of each available elliptic curve. Default: tls.DEFAULT_ECDH_CURVE.

    -
    family?: number
    generation: number
    hints?: number
    hostAddress: HostAddress
    id: number | "<monitor>"
    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    -
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys +

    family?: number
    generation: number
    hints?: number
    hostAddress: HostAddress
    id: number | "<monitor>"
    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    +
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys being encrypted. Encrypted keys will be decrypted with options.passphrase. Multiple keys using different algorithms can be provided either as an array of unencrypted key strings or buffers, @@ -96,7 +96,7 @@ passphrase: ]}. The object form can only occur in an array. object.passphrase is optional. Encrypted keys will be decrypted with object.passphrase if provided, or options.passphrase if it is not.

    -
    loadBalanced: boolean
    localAddress?: string
    localPort?: number
    logicalSessionTimeoutMinutes?: number
    lookup?: LookupFunction
    minDHSize?: number
    monitorCommands: boolean
    noDelay?: boolean
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    +
    loadBalanced: boolean
    localAddress?: string
    localPort?: number
    logicalSessionTimeoutMinutes?: number
    lookup?: LookupFunction
    minDHSize?: number
    monitorCommands: boolean
    noDelay?: boolean
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[]

    PFX or PKCS12 encoded private key and certificate chain. pfx is an alternative to providing key and cert individually. PFX is usually encrypted, if it is, passphrase will be used to decrypt it. Multiple @@ -105,7 +105,7 @@ passphrase: ]}. The object form can only occur in an array. object.passphrase is optional. Encrypted PFX will be decrypted with object.passphrase if provided, or options.passphrase if it is not.

    -
    proxyHost?: string
    proxyPassword?: string
    proxyPort?: number
    proxyUsername?: string
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not +

    proxyHost?: string
    proxyPassword?: string
    proxyPort?: number
    proxyUsername?: string
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not authorized with the list of supplied CAs. This option only has an effect if requestCert is true.

    true
    @@ -121,5 +121,5 @@
     any TLS protocol version up to TLSv1.3. It is not recommended to use
     TLS versions less than 1.2, but it may be required for
     interoperability. Default: none, see minVersion.

    -
    serverApi?: ServerApi
    servername?: string
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    -
    socketTimeoutMS?: number
    tls: boolean
    +
    serverApi?: ServerApi
    servername?: string
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    +
    socketTimeoutMS?: number
    tls: boolean
    diff --git a/docs/Next/interfaces/ConnectionPoolOptions.html b/docs/Next/interfaces/ConnectionPoolOptions.html index a6a32cff02..f60c91a480 100644 --- a/docs/Next/interfaces/ConnectionPoolOptions.html +++ b/docs/Next/interfaces/ConnectionPoolOptions.html @@ -46,11 +46,11 @@

    Properties

    allowPartialTrustChain?: boolean

    Treat intermediate (non-self-signed) certificates in the trust CA certificate list as trusted.

    v22.9.0, v20.18.0

    -
    ALPNProtocols?: readonly string[] | ArrayBufferView<ArrayBufferLike>

    An array of strings or a Buffer naming possible ALPN protocols. +

    ALPNProtocols?: readonly string[] | ArrayBufferView<ArrayBufferLike>

    An array of strings or a Buffer naming possible ALPN protocols. (Protocols should be ordered by their priority.)

    autoSelectFamily?: boolean

    v18.13.0

    -
    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    -
    ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Optionally override the trusted CA certificates. Default is to trust +

    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    +
    ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Optionally override the trusted CA certificates. Default is to trust the well-known CAs curated by Mozilla. Mozilla's CAs are completely replaced when CAs are explicitly specified using this option.

    cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Cert chains in PEM format. One cert chain should be provided per @@ -82,7 +82,7 @@ information, see modifying the default cipher suite. Permitted ciphers can be obtained via tls.getCiphers(). Cipher names must be uppercased in order for OpenSSL to accept them.

    -
    compressors?: (
        | "none"
        | "snappy"
        | "zlib"
        | "zstd")[]
    connectTimeoutMS?: number
    credentials?: MongoCredentials
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    +
    compressors?: (
        | "none"
        | "snappy"
        | "zlib"
        | "zstd")[]
    connectTimeoutMS?: number
    credentials?: MongoCredentials
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    ecdhCurve?: string

    A string describing a named curve or a colon separated list of curve NIDs or names, for example P-521:P-384:P-256, to use for ECDH key agreement. Set to auto to select the curve automatically. Use @@ -90,8 +90,8 @@ recent releases, openssl ecparam -list_curves will also display the name and description of each available elliptic curve. Default: tls.DEFAULT_ECDH_CURVE.

    -
    family?: number
    hints?: number
    hostAddress: HostAddress
    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    -
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys +

    family?: number
    hints?: number
    hostAddress: HostAddress
    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    +
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys being encrypted. Encrypted keys will be decrypted with options.passphrase. Multiple keys using different algorithms can be provided either as an array of unencrypted key strings or buffers, @@ -104,7 +104,7 @@

    maxIdleTimeMS: number

    The maximum amount of time a connection should remain idle in the connection pool before being marked idle.

    maxPoolSize: number

    The maximum number of connections that may be associated with a pool at a given time. This includes in use and available connections.

    minDHSize?: number
    minPoolSize: number

    The minimum number of connections that MUST exist at any moment in a single connection pool.

    -
    monitorCommands: boolean
    noDelay?: boolean
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    +
    monitorCommands: boolean
    noDelay?: boolean
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[]

    PFX or PKCS12 encoded private key and certificate chain. pfx is an alternative to providing key and cert individually. PFX is usually encrypted, if it is, passphrase will be used to decrypt it. Multiple @@ -113,7 +113,7 @@ passphrase: ]}. The object form can only occur in an array. object.passphrase is optional. Encrypted PFX will be decrypted with object.passphrase if provided, or options.passphrase if it is not.

    -
    proxyHost?: string
    proxyPassword?: string
    proxyPort?: number
    proxyUsername?: string
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not +

    proxyHost?: string
    proxyPassword?: string
    proxyPort?: number
    proxyUsername?: string
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not authorized with the list of supplied CAs. This option only has an effect if requestCert is true.

    true
    @@ -129,6 +129,6 @@
     any TLS protocol version up to TLSv1.3. It is not recommended to use
     TLS versions less than 1.2, but it may be required for
     interoperability. Default: none, see minVersion.

    -
    serverApi?: ServerApi
    servername?: string
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    -
    socketTimeoutMS?: number
    tls: boolean
    waitQueueTimeoutMS: number

    The maximum amount of time operation execution should wait for a connection to become available. The default is 0 which means there is no limit.

    +
    serverApi?: ServerApi
    servername?: string
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    +
    socketTimeoutMS?: number
    tls: boolean
    waitQueueTimeoutMS: number

    The maximum amount of time operation execution should wait for a connection to become available. The default is 0 which means there is no limit.

    diff --git a/docs/Next/interfaces/CountDocumentsOptions.html b/docs/Next/interfaces/CountDocumentsOptions.html index fa6eabdd5a..5ac937775c 100644 --- a/docs/Next/interfaces/CountDocumentsOptions.html +++ b/docs/Next/interfaces/CountDocumentsOptions.html @@ -35,36 +35,36 @@
    authdb?: string
    batchSize?: number

    The number of documents to return per batch. See aggregation documentation.

    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    +
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Specify collation.

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

    +

    Specifies the verbosity mode for the explain output.

    This API is deprecated in favor of collection.aggregate().explain() or db.aggregate().explain().

    fieldsAsRaw?: Document

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

    null

    -
    hint?: Hint

    Add an index selection hint to an aggregation command

    +
    hint?: Hint

    Add an index selection hint to an aggregation command

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

    +
    let?: Document

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

    limit?: number

    The maximum amount of documents to consider.

    maxAwaitTimeMS?: number

    The maximum amount of time for the server to wait on new documents to satisfy a tailable cursor 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.

    out?: string
    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.

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

    +
    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 +

    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. @@ -75,14 +75,14 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    skip?: number

    The number of documents to skip.

    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

    Write Concern as an object

    +
    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/CountOptions.html b/docs/Next/interfaces/CountOptions.html index 1ab7cffe11..2344eb8fa7 100644 --- a/docs/Next/interfaces/CountOptions.html +++ b/docs/Next/interfaces/CountOptions.html @@ -26,30 +26,30 @@ writeConcern?

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    +
    collation?: CollationOptions

    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.

    dbName?: string
    enableUtf8Validation?: boolean

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

    -

    Specifies the verbosity mode for the explain output.

    +

    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.

    null

    -
    hint?: string | Document

    An index name hint for the query.

    +
    hint?: string | Document

    An index name hint for the query.

    ignoreUndefined?: boolean

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

    true

    -
    limit?: number

    The maximum amounts to count before aborting.

    +
    limit?: number

    The maximum amounts to count before aborting.

    maxTimeMS?: number

    Number of milliseconds to wait before aborting the query.

    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.

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

    +
    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 +

    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. @@ -60,14 +60,14 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    skip?: number

    The number of documents to skip.

    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

    Write Concern as an object

    +
    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/CreateCollectionOptions.html b/docs/Next/interfaces/CreateCollectionOptions.html index 007726847c..b18d63f8f5 100644 --- a/docs/Next/interfaces/CreateCollectionOptions.html +++ b/docs/Next/interfaces/CreateCollectionOptions.html @@ -40,38 +40,38 @@ writeConcern?

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    capped?: boolean

    Create a capped collection

    +
    capped?: boolean

    Create a capped collection

    changeStreamPreAndPostImages?: {
        enabled: boolean;
    }

    If set, enables pre-update and post-update document events to be included for any change streams that listen on this collection.

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -

    A document specifying configuration options for clustered collections. For MongoDB 5.3 and above.

    +

    A document specifying configuration options for clustered collections. For MongoDB 5.3 and above.

    collation?: CollationOptions

    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.

    dbName?: string
    enableUtf8Validation?: boolean

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

    -
    encryptedFields?: Document
    expireAfterSeconds?: number

    The number of seconds after which a document in a timeseries or clustered collection expires.

    +
    encryptedFields?: Document
    expireAfterSeconds?: number

    The number of seconds after which a document in a timeseries or clustered collection expires.

    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.

    null

    -
    flags?: number

    Available for the MMAPv1 storage engine only to set the usePowerOf2Sizes and the noPadding flag

    +
    flags?: number

    Available for the MMAPv1 storage engine only to set the usePowerOf2Sizes and the noPadding flag

    ignoreUndefined?: boolean

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

    true

    -
    indexOptionDefaults?: Document

    Allows users to specify a default configuration for indexes when creating a collection

    +
    indexOptionDefaults?: Document

    Allows users to specify a default configuration for indexes when creating a collection

    max?: number

    The maximum number of documents in the capped collection

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    pipeline?: Document[]

    An array that consists of the aggregation pipeline stage. Creates the view by applying the specified pipeline to the viewOn collection or view

    pkFactory?: PkFactory

    A primary key factory function for generation of custom _id keys.

    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.

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

    +
    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 +

    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. @@ -82,18 +82,18 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    size?: number

    The size of the capped collection in bytes

    storageEngine?: Document

    Allows users to specify configuration to the storage engine on a per-collection basis when creating a collection

    timeoutMS?: number

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

    A document specifying configuration options for timeseries collections.

    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    validationAction?: string

    Determines whether to error on invalid documents or just warn about the violations but allow invalid documents to be inserted

    +
    validationAction?: string

    Determines whether to error on invalid documents or just warn about the violations but allow invalid documents to be inserted

    validationLevel?: string

    Determines how strictly MongoDB applies the validation rules to existing documents during an update

    validator?: Document

    Allows users to specify validation rules or expressions for the collection. For more information, see Document Validation

    viewOn?: string

    The name of the source collection or view from which to create the view. The name is not the full namespace of the collection or view (i.e., does not include the database name and implies the same database as the view to create)

    diff --git a/docs/Next/interfaces/CreateIndexesOptions.html b/docs/Next/interfaces/CreateIndexesOptions.html index fef81774f2..a9d1c9e0ec 100644 --- a/docs/Next/interfaces/CreateIndexesOptions.html +++ b/docs/Next/interfaces/CreateIndexesOptions.html @@ -43,35 +43,35 @@

    Properties

    2dsphereIndexVersion?: number
    authdb?: string
    background?: boolean

    Creates the index in the background, yielding whenever possible.

    bits?: number
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    bucketSize?: number
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    bucketSize?: number
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    +
    collation?: CollationOptions

    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.

    commitQuorum?: string | number

    (MongoDB 4.4. or higher) Specifies how many data-bearing members of a replica set, including the primary, must complete the index builds successfully before the primary marks the indexes as ready. This option accepts the same values for the "w" field in a write concern plus "votingMembers", which indicates all voting data-bearing nodes.

    dbName?: string
    default_language?: string
    enableUtf8Validation?: boolean

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

    -
    expireAfterSeconds?: number

    Allows you to expire data on indexes applied to a data (MongoDB 2.2 or higher)

    +
    expireAfterSeconds?: number

    Allows you to expire data on indexes applied to a data (MongoDB 2.2 or higher)

    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.

    null

    -
    hidden?: boolean

    Specifies that the index should exist on the target collection but should not be used by the query planner when executing operations. (MongoDB 4.4 or higher)

    +
    hidden?: boolean

    Specifies that the index should exist on the target collection but should not be used by the query planner when executing operations. (MongoDB 4.4 or higher)

    ignoreUndefined?: boolean

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

    true

    -
    language_override?: string
    max?: number

    For geospatial indexes set the high bound for the co-ordinates.

    +
    language_override?: string
    max?: number

    For geospatial indexes set the high bound for the co-ordinates.

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    min?: number

    For geospatial indexes set the lower bound for the co-ordinates.

    name?: string

    Override the autogenerated index name (useful if the resulting name is larger than 128 bytes)

    partialFilterExpression?: Document

    Creates a partial index based on the given filter object (MongoDB 3.2 or higher)

    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.

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

    +
    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 +

    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. @@ -82,16 +82,16 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    sparse?: boolean

    Creates a sparse index.

    storageEngine?: Document

    Allows users to configure the storage engine on a per-index basis when creating an index. (MongoDB 3.0 or higher)

    textIndexVersion?: number
    timeoutMS?: number

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

    unique?: boolean

    Creates an unique index.

    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    version?: number

    Specifies the index version number, either 0 or 1.

    +
    version?: number

    Specifies the index version number, either 0 or 1.

    weights?: Document
    wildcardProjection?: Document
    willRetryWrite?: boolean
    diff --git a/docs/Next/interfaces/DbOptions.html b/docs/Next/interfaces/DbOptions.html index 4ae4bcb78f..26dda05b53 100644 --- a/docs/Next/interfaces/DbOptions.html +++ b/docs/Next/interfaces/DbOptions.html @@ -20,23 +20,23 @@

    Properties

    authSource?: string

    If the database authentication is dependent on another databaseName.

    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

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

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

    null

    -
    forceServerObjectId?: boolean

    Force server to assign _id values instead of driver.

    +
    forceServerObjectId?: boolean

    Force server to assign _id values instead of driver.

    ignoreUndefined?: boolean

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

    true

    -
    pkFactory?: PkFactory

    A primary key factory object for generation of custom _id keys.

    +
    pkFactory?: PkFactory

    A primary key factory object for generation of custom _id keys.

    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.

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

    +
    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 +

    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. @@ -47,13 +47,13 @@

    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?: ReadConcern

    Specify a read concern for the collection. (only MongoDB 3.2 or higher supported)

    +
    readConcern?: ReadConcern

    Specify a read concern 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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    timeoutMS?: number

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

    +
    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

    -

    Write Concern as an object

    +

    Write Concern as an object

    diff --git a/docs/Next/interfaces/DbStatsOptions.html b/docs/Next/interfaces/DbStatsOptions.html index f16759853b..547e728d8a 100644 --- a/docs/Next/interfaces/DbStatsOptions.html +++ b/docs/Next/interfaces/DbStatsOptions.html @@ -24,28 +24,28 @@ writeConcern?

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    +
    collation?: CollationOptions

    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.

    dbName?: string
    enableUtf8Validation?: boolean

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

    -

    Specifies the verbosity mode for the explain output.

    +

    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.

    null

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

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

    true

    -
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    +
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    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.

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

    +
    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 +

    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. @@ -56,14 +56,14 @@

    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)

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

    scale?: number

    Divide the returned sizes by scale value.

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    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

    Write Concern as an object

    +
    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/DeleteOptions.html b/docs/Next/interfaces/DeleteOptions.html index f30aba0575..8a7aa3f366 100644 --- a/docs/Next/interfaces/DeleteOptions.html +++ b/docs/Next/interfaces/DeleteOptions.html @@ -26,31 +26,31 @@ writeConcern?

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Specifies the collation to use for the operation

    +
    collation?: CollationOptions

    Specifies the collation to use for the operation

    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.

    +

    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.

    null

    -
    hint?: string | Document

    Specify that the update query should only consider plans using the hinted index

    +
    hint?: string | Document

    Specify that the update query should only consider plans using the hinted index

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

    +
    let?: Document

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

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    ordered?: boolean

    If true, when an insert fails, don't execute the remaining writes. If false, continue with remaining inserts when one fails.

    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.

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

    +
    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 +

    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. @@ -61,13 +61,13 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    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

    Write Concern as an object

    +
    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/DriverInfo.html b/docs/Next/interfaces/DriverInfo.html index f08e8e5de9..816bb66c3f 100644 --- a/docs/Next/interfaces/DriverInfo.html +++ b/docs/Next/interfaces/DriverInfo.html @@ -1,4 +1,4 @@ -DriverInfo | mongodb

    Interface DriverInfo

    interface DriverInfo {
        name?: string;
        platform?: string;
        version?: string;
    }

    Properties

    name? +DriverInfo | mongodb

    Interface DriverInfo

    interface DriverInfo {
        name?: string;
        platform?: string;
        version?: string;
    }

    Properties

    name?: string
    platform?: string
    version?: string
    +

    Properties

    name?: string
    platform?: string
    version?: string
    diff --git a/docs/Next/interfaces/DropCollectionOptions.html b/docs/Next/interfaces/DropCollectionOptions.html index 61bf8a7b01..1e47244a1a 100644 --- a/docs/Next/interfaces/DropCollectionOptions.html +++ b/docs/Next/interfaces/DropCollectionOptions.html @@ -24,28 +24,28 @@ writeConcern?

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    +
    collation?: CollationOptions

    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.

    dbName?: string
    enableUtf8Validation?: boolean

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

    -
    encryptedFields?: Document

    Specifies the verbosity mode for the explain output.

    +
    encryptedFields?: Document

    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.

    null

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

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

    true

    -
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    +
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    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.

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

    +
    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 +

    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. @@ -56,13 +56,13 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    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

    Write Concern as an object

    +
    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/EstimatedDocumentCountOptions.html b/docs/Next/interfaces/EstimatedDocumentCountOptions.html index 7892562e00..592f16e9ed 100644 --- a/docs/Next/interfaces/EstimatedDocumentCountOptions.html +++ b/docs/Next/interfaces/EstimatedDocumentCountOptions.html @@ -23,29 +23,29 @@ writeConcern?

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    +
    collation?: CollationOptions

    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.

    dbName?: string
    enableUtf8Validation?: boolean

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

    -

    Specifies the verbosity mode for the explain output.

    +

    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.

    null

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

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

    true

    -
    maxTimeMS?: number

    The maximum amount of time to allow the operation to run.

    +
    maxTimeMS?: number

    The maximum amount of time to allow the operation to run.

    This option is sent only if the caller explicitly provides a value. The default is to not send a value.

    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.

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

    +
    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 +

    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. @@ -56,13 +56,13 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    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

    Write Concern as an object

    +
    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/FilterOperators.html b/docs/Next/interfaces/FilterOperators.html index fe3e195285..571eed7758 100644 --- a/docs/Next/interfaces/FilterOperators.html +++ b/docs/Next/interfaces/FilterOperators.html @@ -30,6 +30,6 @@ $type? id?

    Methods

    Properties

    __id?: undefined
    $all?: readonly any[]
    $bitsAllClear?: BitwiseFilter
    $bitsAllSet?: BitwiseFilter
    $bitsAnyClear?: BitwiseFilter
    $bitsAnySet?: BitwiseFilter
    $elemMatch?: Document
    $eq?: TValue
    $exists?: boolean

    When true, $exists matches the documents that contain the field, +

    Properties

    __id?: undefined
    $all?: readonly any[]
    $bitsAllClear?: BitwiseFilter
    $bitsAllSet?: BitwiseFilter
    $bitsAnyClear?: BitwiseFilter
    $bitsAnySet?: BitwiseFilter
    $elemMatch?: Document
    $eq?: TValue
    $exists?: boolean

    When true, $exists matches the documents that contain the field, including documents where the field value is null.

    -
    $expr?: Record<string, any>
    $geoIntersects?: {
        $geometry: Document;
    }
    $geoWithin?: Document
    $gt?: TValue
    $gte?: TValue
    $in?: readonly TValue[]
    $jsonSchema?: Record<string, any>
    $lt?: TValue
    $lte?: TValue
    $maxDistance?: number
    $mod?: TValue extends number
        ? [number, number]
        : never
    $ne?: TValue
    $near?: Document
    $nearSphere?: Document
    $nin?: readonly TValue[]
    $not?: TValue extends string
        ? RegExp | FilterOperators<TValue<TValue>>
        : FilterOperators<TValue>
    $options?: TValue extends string
        ? string
        : never
    $rand?: Record<string, never>
    $regex?: TValue extends string
        ? string | RegExp | BSONRegExp
        : never
    $size?: TValue extends readonly any[]
        ? number
        : never
    $type?:
        | "string"
        | "symbol"
        | "undefined"
        | "object"
        | "double"
        | "array"
        | "binData"
        | "objectId"
        | "bool"
        | "date"
        | "null"
        | "regex"
        | "dbPointer"
        | "javascript"
        | "javascriptWithScope"
        | "int"
        | "timestamp"
        | "long"
        | "decimal"
        | "minKey"
        | "maxKey"
        | BSON.BSONType
    id?: undefined

    Methods

    toHexString
    +
    $expr?: Record<string, any>
    $geoIntersects?: {
        $geometry: Document;
    }
    $geoWithin?: Document
    $gt?: TValue
    $gte?: TValue
    $in?: readonly TValue[]
    $jsonSchema?: Record<string, any>
    $lt?: TValue
    $lte?: TValue
    $maxDistance?: number
    $mod?: TValue extends number
        ? [number, number]
        : never
    $ne?: TValue
    $near?: Document
    $nearSphere?: Document
    $nin?: readonly TValue[]
    $not?: TValue extends string
        ? RegExp | FilterOperators<TValue<TValue>>
        : FilterOperators<TValue>
    $options?: TValue extends string
        ? string
        : never
    $rand?: Record<string, never>
    $regex?: TValue extends string
        ? string | RegExp | BSONRegExp
        : never
    $size?: TValue extends readonly any[]
        ? number
        : never
    $type?:
        | "string"
        | "symbol"
        | "undefined"
        | "object"
        | "double"
        | "array"
        | "binData"
        | "objectId"
        | "bool"
        | "date"
        | "null"
        | "regex"
        | "dbPointer"
        | "javascript"
        | "javascriptWithScope"
        | "int"
        | "timestamp"
        | "long"
        | "decimal"
        | "minKey"
        | "maxKey"
        | BSON.BSONType
    id?: undefined

    Methods

    toHexString
    diff --git a/docs/Next/interfaces/FindOneAndDeleteOptions.html b/docs/Next/interfaces/FindOneAndDeleteOptions.html index 11e4a6f13c..f388a6883c 100644 --- a/docs/Next/interfaces/FindOneAndDeleteOptions.html +++ b/docs/Next/interfaces/FindOneAndDeleteOptions.html @@ -28,32 +28,32 @@ writeConcern?

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    +
    collation?: CollationOptions

    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.

    dbName?: string
    enableUtf8Validation?: boolean

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

    -

    Specifies the verbosity mode for the explain output.

    +

    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.

    null

    -
    hint?: Document

    An optional hint for query optimization. See the command reference for more information.

    +
    hint?: Document

    An optional hint for query optimization. See the command reference for more information.

    ignoreUndefined?: boolean

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

    true

    -
    includeResultMetadata?: boolean

    Return the ModifyResult instead of the modified document. Defaults to false

    +
    includeResultMetadata?: boolean

    Return the ModifyResult instead of the modified document. Defaults to false

    let?: Document

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

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    projection?: Document

    Limits the fields to return for all matching documents.

    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.

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

    +
    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 +

    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. @@ -64,14 +64,14 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    sort?: Sort

    Determines which document the operation modifies if the query selects multiple documents.

    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

    Write Concern as an object

    +
    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/FindOneAndReplaceOptions.html b/docs/Next/interfaces/FindOneAndReplaceOptions.html index 1bf7a28f8d..53fd55fbbc 100644 --- a/docs/Next/interfaces/FindOneAndReplaceOptions.html +++ b/docs/Next/interfaces/FindOneAndReplaceOptions.html @@ -31,33 +31,33 @@ writeConcern?

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    +
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    +
    collation?: CollationOptions

    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.

    dbName?: string
    enableUtf8Validation?: boolean

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

    -

    Specifies the verbosity mode for the explain output.

    +

    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.

    null

    -
    hint?: Document

    An optional hint for query optimization. See the command reference for more information.

    +
    hint?: Document

    An optional hint for query optimization. See the command reference for more information.

    ignoreUndefined?: boolean

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

    true

    -
    includeResultMetadata?: boolean

    Return the ModifyResult instead of the modified document. Defaults to false

    +
    includeResultMetadata?: boolean

    Return the ModifyResult instead of the modified document. Defaults to false

    let?: Document

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

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    projection?: Document

    Limits the fields to return for all matching documents.

    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.

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

    +
    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 +

    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. @@ -68,16 +68,16 @@

    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)

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

    returnDocument?: ReturnDocument

    When set to 'after', returns the updated document rather than the original. The default is 'before'.

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    sort?: Sort

    Determines which document the operation modifies if the query selects multiple documents.

    timeoutMS?: number

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

    upsert?: boolean

    Upsert the document if it does not exist.

    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    +
    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/FindOneAndUpdateOptions.html b/docs/Next/interfaces/FindOneAndUpdateOptions.html index cefd95e35a..883128a8aa 100644 --- a/docs/Next/interfaces/FindOneAndUpdateOptions.html +++ b/docs/Next/interfaces/FindOneAndUpdateOptions.html @@ -33,33 +33,33 @@

    Properties

    arrayFilters?: Document[]

    Optional list of array filters referenced in filtered positional operators

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    +
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    +
    collation?: CollationOptions

    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.

    dbName?: string
    enableUtf8Validation?: boolean

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

    -

    Specifies the verbosity mode for the explain output.

    +

    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.

    null

    -
    hint?: Document

    An optional hint for query optimization. See the command reference for more information.

    +
    hint?: Document

    An optional hint for query optimization. See the command reference for more information.

    ignoreUndefined?: boolean

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

    true

    -
    includeResultMetadata?: boolean

    Return the ModifyResult instead of the modified document. Defaults to false

    +
    includeResultMetadata?: boolean

    Return the ModifyResult instead of the modified document. Defaults to false

    let?: Document

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

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    projection?: Document

    Limits the fields to return for all matching documents.

    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.

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

    +
    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 +

    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. @@ -70,16 +70,16 @@

    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)

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

    returnDocument?: ReturnDocument

    When set to 'after', returns the updated document rather than the original. The default is 'before'.

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    sort?: Sort

    Determines which document the operation modifies if the query selects multiple documents.

    timeoutMS?: number

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

    upsert?: boolean

    Upsert the document if it does not exist.

    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    +
    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/FindOptions.html b/docs/Next/interfaces/FindOptions.html index 5d43857298..ae150a8034 100644 --- a/docs/Next/interfaces/FindOptions.html +++ b/docs/Next/interfaces/FindOptions.html @@ -46,23 +46,23 @@
    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.

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

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

    +

    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}

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

    +
    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

    @@ -74,11 +74,11 @@
    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.

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

    +
    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 +

    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. @@ -89,12 +89,12 @@

    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)

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

    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

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

    @@ -104,4 +104,4 @@
    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
    +
    willRetryWrite?: boolean
    diff --git a/docs/Next/interfaces/GCPEncryptionKeyOptions.html b/docs/Next/interfaces/GCPEncryptionKeyOptions.html index 2450a7b8f9..88d9caf709 100644 --- a/docs/Next/interfaces/GCPEncryptionKeyOptions.html +++ b/docs/Next/interfaces/GCPEncryptionKeyOptions.html @@ -1,14 +1,14 @@ GCPEncryptionKeyOptions | mongodb

    Interface GCPEncryptionKeyOptions

    Configuration options for making an AWS encryption key

    -
    interface GCPEncryptionKeyOptions {
        endpoint?: string;
        keyName: string;
        keyRing: string;
        keyVersion?: string;
        location: string;
        projectId: string;
    }

    Properties

    interface GCPEncryptionKeyOptions {
        endpoint?: string;
        keyName: string;
        keyRing: string;
        keyVersion?: string;
        location: string;
        projectId: string;
    }

    Properties

    endpoint?: string

    KMS URL, defaults to https://www.googleapis.com/auth/cloudkms

    -
    keyName: string

    Key name

    -
    keyRing: string

    Key ring name

    -
    keyVersion?: string

    Key version

    -
    location: string

    Location name (e.g. "global")

    -
    projectId: string

    GCP project ID

    -
    +
    keyName: string

    Key name

    +
    keyRing: string

    Key ring name

    +
    keyVersion?: string

    Key version

    +
    location: string

    Location name (e.g. "global")

    +
    projectId: string

    GCP project ID

    +
    diff --git a/docs/Next/interfaces/IndexInformationOptions.html b/docs/Next/interfaces/IndexInformationOptions.html index 42a7b79c8c..965b9e95d2 100644 --- a/docs/Next/interfaces/IndexInformationOptions.html +++ b/docs/Next/interfaces/IndexInformationOptions.html @@ -29,16 +29,16 @@
    batchSize?: number

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

    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    comment?: unknown

    Comment to apply to the operation.

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

    +
    fieldsAsRaw?: Document

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

    null

    -
    full?: boolean

    When true, an array of index descriptions is returned. +

    full?: boolean

    When 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:

    @@ -52,17 +52,17 @@
    ignoreUndefined?: boolean

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

    true

    -
    maxAwaitTimeMS?: number

    When applicable maxAwaitTimeMS controls the amount of time subsequent getMores +

    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.

    false

    -
    promoteLongs?: boolean

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

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

    +
    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 +

    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. @@ -73,9 +73,9 @@

    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

    +
    readConcern?: ReadConcernLike
    readPreference?: ReadPreferenceLike
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession
    tailable?: boolean

    By default, MongoDB will automatically close a cursor when the +

    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.

    @@ -96,4 +96,4 @@
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error. See AbstractCursorOptions.timeoutMode for more details on how this option applies to cursors.

    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    +
    diff --git a/docs/Next/interfaces/InsertOneOptions.html b/docs/Next/interfaces/InsertOneOptions.html index 66571a20b3..f8109c8c75 100644 --- a/docs/Next/interfaces/InsertOneOptions.html +++ b/docs/Next/interfaces/InsertOneOptions.html @@ -25,30 +25,30 @@ writeConcern?

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    +
    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    +
    collation?: CollationOptions

    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.

    dbName?: string
    enableUtf8Validation?: boolean

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

    -

    Specifies the verbosity mode for the explain output.

    +

    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.

    null

    -
    forceServerObjectId?: boolean

    Force server to assign _id values instead of driver.

    +
    forceServerObjectId?: boolean

    Force server to assign _id values instead of driver.

    ignoreUndefined?: boolean

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

    true

    -
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    +
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    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.

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

    +
    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 +

    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. @@ -59,13 +59,13 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    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

    Write Concern as an object

    +
    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/KMIPEncryptionKeyOptions.html b/docs/Next/interfaces/KMIPEncryptionKeyOptions.html index 392e31608d..fabe295e0d 100644 --- a/docs/Next/interfaces/KMIPEncryptionKeyOptions.html +++ b/docs/Next/interfaces/KMIPEncryptionKeyOptions.html @@ -1,10 +1,10 @@ KMIPEncryptionKeyOptions | mongodb

    Interface KMIPEncryptionKeyOptions

    Configuration options for making a KMIP encryption key

    -
    interface KMIPEncryptionKeyOptions {
        delegated?: boolean;
        endpoint?: string;
        keyId?: string;
    }

    Properties

    interface KMIPEncryptionKeyOptions {
        delegated?: boolean;
        endpoint?: string;
        keyId?: string;
    }

    Properties

    delegated?: boolean

    If true, this key should be decrypted by the KMIP server.

    Requires mongodb-client-encryption>=6.0.1.

    -
    endpoint?: string

    Host with optional port.

    -
    keyId?: string

    keyId is the KMIP Unique Identifier to a 96 byte KMIP Secret Data managed object.

    +
    endpoint?: string

    Host with optional port.

    +
    keyId?: string

    keyId is the KMIP Unique Identifier to a 96 byte KMIP Secret Data managed object.

    If keyId is omitted, a random 96 byte KMIP Secret Data managed object will be created.

    -
    +
    diff --git a/docs/Next/interfaces/ListCollectionsOptions.html b/docs/Next/interfaces/ListCollectionsOptions.html index 6bb7d9ddb5..09ad603cf9 100644 --- a/docs/Next/interfaces/ListCollectionsOptions.html +++ b/docs/Next/interfaces/ListCollectionsOptions.html @@ -28,29 +28,29 @@
    batchSize?: number

    The batchSize for the returned command cursor or if pre 2.8 the systems batch collection

    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    +
    collation?: CollationOptions

    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.

    dbName?: string
    enableUtf8Validation?: boolean

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

    -

    Specifies the verbosity mode for the explain output.

    +

    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.

    null

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

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

    true

    -
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    +
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    nameOnly?: boolean

    Since 4.0: If true, will only return the collection name in the response, and will omit additional info

    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.

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

    +
    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 +

    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. @@ -61,11 +61,11 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    signal?: AbortSignal

    When provided, the corresponding AbortController can be used to abort an asynchronous action.

    The signal.reason value is used as the error thrown.

    NOTE: If an abort signal aborts an operation while the driver is writing to the underlying @@ -81,4 +81,4 @@

    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
    +
    willRetryWrite?: boolean
    diff --git a/docs/Next/interfaces/ListDatabasesOptions.html b/docs/Next/interfaces/ListDatabasesOptions.html index 981da53b74..9345ec6f76 100644 --- a/docs/Next/interfaces/ListDatabasesOptions.html +++ b/docs/Next/interfaces/ListDatabasesOptions.html @@ -27,30 +27,30 @@

    Properties

    authdb?: string
    authorizedDatabases?: boolean

    A flag that determines which databases are returned based on the user privileges when access control is enabled

    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    +
    collation?: CollationOptions

    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.

    dbName?: string
    enableUtf8Validation?: boolean

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

    -

    Specifies the verbosity mode for the explain output.

    +

    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.

    null

    -
    filter?: Document

    A query predicate that determines which databases are listed

    +
    filter?: Document

    A query predicate that determines which databases are listed

    ignoreUndefined?: boolean

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

    true

    -
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    +
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    nameOnly?: boolean

    A flag to indicate whether the command should return just the database names, or return both database names and size information

    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.

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

    +
    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 +

    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. @@ -61,13 +61,13 @@

    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)

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    +
    session?: ClientSession

    Specify ClientSession for this command

    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

    Write Concern as an object

    +
    willRetryWrite?: boolean

    Write Concern as an object

    diff --git a/docs/Next/interfaces/MongoClientOptions.html b/docs/Next/interfaces/MongoClientOptions.html index a34c59c991..007f5c7c8d 100644 --- a/docs/Next/interfaces/MongoClientOptions.html +++ b/docs/Next/interfaces/MongoClientOptions.html @@ -1,6 +1,6 @@ MongoClientOptions | mongodb

    Interface MongoClientOptions

    Describes all possible URI query options for the mongo client

    interface MongoClientOptions {
        allowPartialTrustChain?: boolean;
        ALPNProtocols?: readonly string[] | ArrayBufferView<ArrayBufferLike>;
        appName?: string;
        auth?: Auth;
        authMechanism?: AuthMechanism;
        authMechanismProperties?: AuthMechanismProperties;
        authSource?: string;
        autoEncryption?: AutoEncryptionOptions;
        autoSelectFamily?: boolean;
        autoSelectFamilyAttemptTimeout?: number;
        bsonRegExp?: boolean;
        ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        checkKeys?: boolean;
        checkServerIdentity?: ((hostname: string, cert: PeerCertificate) => Error | undefined);
        ciphers?: string;
        compressors?: string | (
            | "none"
            | "snappy"
            | "zlib"
            | "zstd")[];
        connectTimeoutMS?: number;
        crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        directConnection?: boolean;
        driverInfo?: DriverInfo;
        ecdhCurve?: string;
        enableUtf8Validation?: boolean;
        family?: number;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        heartbeatFrequencyMS?: number;
        hints?: number;
        ignoreUndefined?: boolean;
        journal?: boolean;
        keepAliveInitialDelay?: number;
        key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[];
        loadBalanced?: boolean;
        localAddress?: string;
        localPort?: number;
        localThresholdMS?: number;
        lookup?: LookupFunction;
        maxConnecting?: number;
        maxIdleTimeMS?: number;
        maxPoolSize?: number;
        maxStalenessSeconds?: number;
        minDHSize?: number;
        minHeartbeatFrequencyMS?: number;
        minPoolSize?: number;
        mongodbLogComponentSeverities?: LogComponentSeveritiesClientOptions;
        mongodbLogMaxDocumentLength?: number;
        mongodbLogPath?: "stderr" | "stdout" | MongoDBLogWritable;
        monitorCommands?: boolean;
        noDelay?: boolean;
        passphrase?: string;
        pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[];
        pkFactory?: PkFactory;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        proxyHost?: string;
        proxyPassword?: string;
        proxyPort?: number;
        proxyUsername?: string;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readConcernLevel?: ReadConcernLevel;
        readPreference?: ReadPreference | ReadPreferenceMode;
        readPreferenceTags?: TagSet[];
        rejectUnauthorized?: boolean;
        replicaSet?: string;
        retryReads?: boolean;
        retryWrites?: boolean;
        secureContext?: SecureContext;
        secureProtocol?: string;
        serializeFunctions?: boolean;
        serverApi?: "1" | ServerApi;
        serverMonitoringMode?: ServerMonitoringMode;
        servername?: string;
        serverSelectionTimeoutMS?: number;
        session?: Buffer<ArrayBufferLike>;
        socketTimeoutMS?: number;
        srvMaxHosts?: number;
        srvServiceName?: string;
        ssl?: boolean;
        timeoutMS?: number;
        tls?: boolean;
        tlsAllowInvalidCertificates?: boolean;
        tlsAllowInvalidHostnames?: boolean;
        tlsCAFile?: string;
        tlsCertificateKeyFile?: string;
        tlsCertificateKeyFilePassword?: string;
        tlsCRLFile?: string;
        tlsInsecure?: boolean;
        useBigInt64?: boolean;
        w?: W;
        waitQueueTimeoutMS?: number;
        writeConcern?: WriteConcern | WriteConcernSettings;
        wtimeoutMS?: number;
        zlibCompressionLevel?:
            | 0
            | 5
            | 1
            | 3
            | 9
            | 4
            | 2
            | 8
            | 6
            | 7;
    }

    Hierarchy (view full)

    Properties

    interface MongoClientOptions {
        allowPartialTrustChain?: boolean;
        ALPNProtocols?: readonly string[] | ArrayBufferView<ArrayBufferLike>;
        appName?: string;
        auth?: Auth;
        authMechanism?: AuthMechanism;
        authMechanismProperties?: AuthMechanismProperties;
        authSource?: string;
        autoEncryption?: AutoEncryptionOptions;
        autoSelectFamily?: boolean;
        autoSelectFamilyAttemptTimeout?: number;
        bsonRegExp?: boolean;
        ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        checkKeys?: boolean;
        checkServerIdentity?: ((hostname: string, cert: PeerCertificate) => Error | undefined);
        ciphers?: string;
        compressors?: string | (
            | "none"
            | "snappy"
            | "zlib"
            | "zstd")[];
        connectTimeoutMS?: number;
        crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        directConnection?: boolean;
        driverInfo?: DriverInfo;
        ecdhCurve?: string;
        enableUtf8Validation?: boolean;
        family?: number;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        heartbeatFrequencyMS?: number;
        hints?: number;
        ignoreUndefined?: boolean;
        journal?: boolean;
        keepAliveInitialDelay?: number;
        key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[];
        loadBalanced?: boolean;
        localAddress?: string;
        localPort?: number;
        localThresholdMS?: number;
        lookup?: LookupFunction;
        maxConnecting?: number;
        maxIdleTimeMS?: number;
        maxPoolSize?: number;
        maxStalenessSeconds?: number;
        minDHSize?: number;
        minHeartbeatFrequencyMS?: number;
        minPoolSize?: number;
        mongodbLogComponentSeverities?: LogComponentSeveritiesClientOptions;
        mongodbLogMaxDocumentLength?: number;
        mongodbLogPath?: "stderr" | "stdout" | MongoDBLogWritable;
        monitorCommands?: boolean;
        noDelay?: boolean;
        passphrase?: string;
        pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[];
        pkFactory?: PkFactory;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        proxyHost?: string;
        proxyPassword?: string;
        proxyPort?: number;
        proxyUsername?: string;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readConcernLevel?: ReadConcernLevel;
        readPreference?: ReadPreference | ReadPreferenceMode;
        readPreferenceTags?: TagSet[];
        rejectUnauthorized?: boolean;
        replicaSet?: string;
        retryReads?: boolean;
        retryWrites?: boolean;
        runtimeAdapters?: RuntimeAdapters;
        secureContext?: SecureContext;
        secureProtocol?: string;
        serializeFunctions?: boolean;
        serverApi?: "1" | ServerApi;
        serverMonitoringMode?: ServerMonitoringMode;
        servername?: string;
        serverSelectionTimeoutMS?: number;
        session?: Buffer<ArrayBufferLike>;
        socketTimeoutMS?: number;
        srvMaxHosts?: number;
        srvServiceName?: string;
        ssl?: boolean;
        timeoutMS?: number;
        tls?: boolean;
        tlsAllowInvalidCertificates?: boolean;
        tlsAllowInvalidHostnames?: boolean;
        tlsCAFile?: string;
        tlsCertificateKeyFile?: string;
        tlsCertificateKeyFilePassword?: string;
        tlsCRLFile?: string;
        tlsInsecure?: boolean;
        useBigInt64?: boolean;
        w?: W;
        waitQueueTimeoutMS?: number;
        writeConcern?: WriteConcern | WriteConcernSettings;
        wtimeoutMS?: number;
        zlibCompressionLevel?:
            | 0
            | 5
            | 1
            | 4
            | 8
            | 2
            | 3
            | 9
            | 6
            | 7;
    }

    Hierarchy (view full)

    Properties

    allowPartialTrustChain?: boolean

    Treat intermediate (non-self-signed) certificates in the trust CA certificate list as trusted.

    v22.9.0, v20.18.0

    -
    ALPNProtocols?: readonly string[] | ArrayBufferView<ArrayBufferLike>

    An array of strings or a Buffer naming possible ALPN protocols. +

    ALPNProtocols?: readonly string[] | ArrayBufferView<ArrayBufferLike>

    An array of strings or a Buffer naming possible ALPN protocols. (Protocols should be ordered by their priority.)

    appName?: string

    The name of the application that created this MongoClient instance. MongoDB 3.4 and newer will print this value in the server log upon establishing each connection. It is also recorded in the slow query log and profile collections

    -
    auth?: Auth

    The auth settings for when connection to server.

    -
    authMechanism?: AuthMechanism

    Specify the authentication mechanism that MongoDB will use to authenticate the connection.

    -
    authMechanismProperties?: AuthMechanismProperties

    Specify properties for the specified authMechanism as a comma-separated list of colon-separated key-value pairs.

    -
    authSource?: string

    Specify the database name associated with the user’s credentials.

    -
    autoEncryption?: AutoEncryptionOptions

    Optionally enable in-use auto encryption

    +
    auth?: Auth

    The auth settings for when connection to server.

    +
    authMechanism?: AuthMechanism

    Specify the authentication mechanism that MongoDB will use to authenticate the connection.

    +
    authMechanismProperties?: AuthMechanismProperties

    Specify properties for the specified authMechanism as a comma-separated list of colon-separated key-value pairs.

    +
    authSource?: string

    Specify the database name associated with the user’s credentials.

    +
    autoEncryption?: AutoEncryptionOptions

    Optionally enable in-use auto encryption

    Automatic encryption is an enterprise only feature that only applies to operations on a collection. Automatic encryption is not supported for operations on a database or view, and operations that are not bypassed will result in error (see libmongocrypt: Auto Encryption Allow-List). To bypass automatic encryption for all operations, set bypassAutoEncryption=true in AutoEncryptionOpts.

    Automatic encryption requires the authenticated user to have the listCollections privilege action.

    @@ -115,11 +116,11 @@
  • AutoEncryptionOptions.bypassAutomaticEncryption is false.
  • If an internal MongoClient is created, it is configured with the same options as the parent MongoClient except minPoolSize is set to 0 and AutoEncryptionOptions is omitted.

    -
    autoSelectFamily?: boolean

    v18.13.0

    -
    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    -
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +
    autoSelectFamily?: boolean

    v18.13.0

    +
    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Optionally override the trusted CA certificates. Default is to trust +

    ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Optionally override the trusted CA certificates. Default is to trust the well-known CAs curated by Mozilla. Mozilla's CAs are completely replaced when CAs are explicitly specified using this option.

    cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Cert chains in PEM format. One cert chain should be provided per @@ -133,7 +134,7 @@ able to validate the certificate, and the handshake will fail.

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    checkServerIdentity?: ((hostname: string, cert: PeerCertificate) => Error | undefined)

    Type declaration

      • (hostname, cert): Error | undefined
      • Verifies the certificate cert is issued to hostname.

        +
    checkServerIdentity?: ((hostname: string, cert: PeerCertificate) => Error | undefined)

    Type declaration

      • (hostname, cert): Error | undefined
      • Verifies the certificate cert is issued to hostname.

        Returns Error object, populating it with reason, host, and cert on failure. On success, returns undefined.

        This function is intended to be used in combination with thecheckServerIdentity option that can be passed to connect and as @@ -154,15 +155,15 @@ ciphers can be obtained via tls.getCiphers(). Cipher names must be uppercased in order for OpenSSL to accept them.

    compressors?: string | (
        | "none"
        | "snappy"
        | "zlib"
        | "zstd")[]

    An array or comma-delimited string of compressors to enable network compression for communication between this client and a mongod/mongos instance.

    -
    connectTimeoutMS?: number

    The time in milliseconds to attempt a connection before timing out.

    -
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    +
    connectTimeoutMS?: number

    The time in milliseconds to attempt a connection before timing out.

    +
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    directConnection?: boolean

    Allow a driver to force a Single topology type with a connection string containing one host

    -
    driverInfo?: DriverInfo

    Allows a wrapping driver to amend the client metadata generated by the driver to include information about the wrapping driver +

    driverInfo?: DriverInfo

    Allows a wrapping driver to amend the client metadata generated by the driver to include information about the wrapping driver /*

    • Will be made internal in a future major release.
    -
    ecdhCurve?: string

    A string describing a named curve or a colon separated list of curve +

    ecdhCurve?: string

    A string describing a named curve or a colon separated list of curve NIDs or names, for example P-521:P-384:P-256, to use for ECDH key agreement. Set to auto to select the curve automatically. Use crypto.getCurves() to obtain a list of available curve names. On @@ -170,17 +171,17 @@ name and description of each available elliptic curve. Default: tls.DEFAULT_ECDH_CURVE.

    enableUtf8Validation?: boolean

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

    -
    family?: number
    fieldsAsRaw?: Document

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

    +
    family?: number
    fieldsAsRaw?: Document

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

    null

    -
    forceServerObjectId?: boolean

    Force server to assign _id values instead of driver

    -
    heartbeatFrequencyMS?: number

    heartbeatFrequencyMS controls when the driver checks the state of the MongoDB deployment. Specify the interval (in milliseconds) between checks, counted from the end of the previous check until the beginning of the next one.

    -
    hints?: number
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    forceServerObjectId?: boolean

    Force server to assign _id values instead of driver

    +
    heartbeatFrequencyMS?: number

    heartbeatFrequencyMS controls when the driver checks the state of the MongoDB deployment. Specify the interval (in milliseconds) between checks, counted from the end of the previous check until the beginning of the next one.

    +
    hints?: number
    ignoreUndefined?: boolean

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

    true

    -
    journal?: boolean

    The journal write concern

    +
    journal?: boolean

    The journal write concern

    Please use the writeConcern option instead

    -
    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    -
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys +

    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    +
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys being encrypted. Encrypted keys will be decrypted with options.passphrase. Multiple keys using different algorithms can be provided either as an array of unencrypted key strings or buffers, @@ -189,22 +190,22 @@ object.passphrase is optional. Encrypted keys will be decrypted with object.passphrase if provided, or options.passphrase if it is not.

    loadBalanced?: boolean

    Instruct the driver it is connecting to a load balancer fronting a mongos like service

    -
    localAddress?: string
    localPort?: number
    localThresholdMS?: number

    The size (in milliseconds) of the latency window for selecting among multiple suitable MongoDB instances.

    -
    lookup?: LookupFunction
    maxConnecting?: number

    The maximum number of connections that may be in the process of being established concurrently by the connection pool.

    -
    maxIdleTimeMS?: number

    The maximum amount of time a connection should remain idle in the connection pool before being marked idle, in milliseconds. +

    localAddress?: string
    localPort?: number
    localThresholdMS?: number

    The size (in milliseconds) of the latency window for selecting among multiple suitable MongoDB instances.

    +
    lookup?: LookupFunction
    maxConnecting?: number

    The maximum number of connections that may be in the process of being established concurrently by the connection pool.

    +
    maxIdleTimeMS?: number

    The maximum amount of time a connection should remain idle in the connection pool before being marked idle, in milliseconds. If specified, this must be a number greater than or equal to 0, where 0 means there is no limit. Defaults to 0. After this time passes, the idle collection can be automatically cleaned up in the background.

    -
    maxPoolSize?: number

    The maximum number of connections in the connection pool.

    -
    maxStalenessSeconds?: number

    Specifies, in seconds, how stale a secondary can be before the client stops using it for read operations.

    -
    minDHSize?: number
    minHeartbeatFrequencyMS?: number

    Sets the minimum heartbeat frequency. In the event that the driver has to frequently re-check a server's availability, it will wait at least this long since the previous check to avoid wasted effort.

    -
    minPoolSize?: number

    The minimum number of connections in the connection pool.

    -
    mongodbLogComponentSeverities?: LogComponentSeveritiesClientOptions

    Enable logging level per component or use default to control any unset components.

    -
    mongodbLogMaxDocumentLength?: number

    All BSON documents are stringified to EJSON. This controls the maximum length of those strings. +

    maxPoolSize?: number

    The maximum number of connections in the connection pool.

    +
    maxStalenessSeconds?: number

    Specifies, in seconds, how stale a secondary can be before the client stops using it for read operations.

    +
    minDHSize?: number
    minHeartbeatFrequencyMS?: number

    Sets the minimum heartbeat frequency. In the event that the driver has to frequently re-check a server's availability, it will wait at least this long since the previous check to avoid wasted effort.

    +
    minPoolSize?: number

    The minimum number of connections in the connection pool.

    +
    mongodbLogComponentSeverities?: LogComponentSeveritiesClientOptions

    Enable logging level per component or use default to control any unset components.

    +
    mongodbLogMaxDocumentLength?: number

    All BSON documents are stringified to EJSON. This controls the maximum length of those strings. It is defaulted to 1000.

    -
    mongodbLogPath?: "stderr" | "stdout" | MongoDBLogWritable

    Specifies the destination of the driver's logging. The default is stderr.

    -
    monitorCommands?: boolean

    Enable command monitoring for this client

    -
    noDelay?: boolean

    TCP Connection no delay

    -
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    +
    mongodbLogPath?: "stderr" | "stdout" | MongoDBLogWritable

    Specifies the destination of the driver's logging. The default is stderr.

    +
    monitorCommands?: boolean

    Enable command monitoring for this client

    +
    noDelay?: boolean

    TCP Connection no delay

    +
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[]

    PFX or PKCS12 encoded private key and certificate chain. pfx is an alternative to providing key and cert individually. PFX is usually encrypted, if it is, passphrase will be used to decrypt it. Multiple @@ -214,17 +215,17 @@ object.passphrase is optional. Encrypted PFX will be decrypted with object.passphrase if provided, or options.passphrase if it is not.

    pkFactory?: PkFactory

    A primary key factory function for generation of custom _id keys

    -
    promoteBuffers?: boolean

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

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

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

    +
    promoteValues?: boolean

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

    true

    -
    proxyHost?: string

    Configures a Socks5 proxy host used for creating TCP connections.

    -
    proxyPassword?: string

    Configures a Socks5 proxy password when the proxy in proxyHost requires username/password authentication.

    -
    proxyPort?: number

    Configures a Socks5 proxy port used for creating TCP connections.

    -
    proxyUsername?: string

    Configures a Socks5 proxy username when the proxy in proxyHost requires username/password authentication.

    -
    raw?: boolean

    Enabling the raw option will return a Node.js Buffer +

    proxyHost?: string

    Configures a Socks5 proxy host used for creating TCP connections.

    +
    proxyPassword?: string

    Configures a Socks5 proxy password when the proxy in proxyHost requires username/password authentication.

    +
    proxyPort?: number

    Configures a Socks5 proxy port used for creating TCP connections.

    +
    proxyUsername?: string

    Configures a Socks5 proxy username when the proxy in proxyHost requires username/password authentication.

    +
    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. @@ -235,20 +236,21 @@

    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 for the collection (only MongoDB 3.2 or higher supported)

    -
    readConcernLevel?: ReadConcernLevel

    The level of isolation

    -

    Specifies the read preferences for this connection

    -
    readPreferenceTags?: TagSet[]

    Specifies the tags document as a comma-separated list of colon-separated key-value pairs.

    -
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not +

    readConcern?: ReadConcernLike

    Specify a read concern for the collection (only MongoDB 3.2 or higher supported)

    +
    readConcernLevel?: ReadConcernLevel

    The level of isolation

    +

    Specifies the read preferences for this connection

    +
    readPreferenceTags?: TagSet[]

    Specifies the tags document as a comma-separated list of colon-separated key-value pairs.

    +
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not authorized with the list of supplied CAs. This option only has an effect if requestCert is true.

    true
     
    replicaSet?: string

    Specifies the name of the replica set, if the mongod is a member of a replica set.

    -
    retryReads?: boolean

    Enables retryable reads.

    -
    retryWrites?: boolean

    Enable retryable writes.

    -
    secureContext?: SecureContext

    An optional TLS context object from tls.createSecureContext()

    +
    retryReads?: boolean

    Enables retryable reads.

    +
    retryWrites?: boolean

    Enable retryable writes.

    +
    runtimeAdapters?: RuntimeAdapters

    If provided, any adapters provided will be used in place of the corresponding Node.js module.

    +
    secureContext?: SecureContext

    An optional TLS context object from tls.createSecureContext()

    secureProtocol?: string

    Legacy mechanism to select the TLS protocol version to use, it does not support independent control of the minimum and maximum version, and does not support limiting the protocol to TLSv1.3. Use @@ -260,34 +262,34 @@

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    serverApi?: "1" | ServerApi

    Server API version

    -
    serverMonitoringMode?: ServerMonitoringMode

    Instructs the driver monitors to use a specific monitoring mode

    -
    servername?: string
    serverSelectionTimeoutMS?: number

    Specifies how long (in milliseconds) to block for server selection before throwing an exception.

    -
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    +
    serverApi?: "1" | ServerApi

    Server API version

    +
    serverMonitoringMode?: ServerMonitoringMode

    Instructs the driver monitors to use a specific monitoring mode

    +
    servername?: string
    serverSelectionTimeoutMS?: number

    Specifies how long (in milliseconds) to block for server selection before throwing an exception.

    +
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    socketTimeoutMS?: number

    The time in milliseconds to attempt a send or receive on a socket before the attempt times out.

    -
    srvMaxHosts?: number

    The maximum number of hosts to connect to when using an srv connection string, a setting of 0 means unlimited hosts

    -
    srvServiceName?: string

    Modifies the srv URI to look like:

    +
    srvMaxHosts?: number

    The maximum number of hosts to connect to when using an srv connection string, a setting of 0 means unlimited hosts

    +
    srvServiceName?: string

    Modifies the srv URI to look like:

    _{srvServiceName}._tcp.{hostname}.{domainname}

    Querying this DNS URI is expected to respond with SRV records

    -
    ssl?: boolean

    A boolean to enable or disables TLS/SSL for the connection. (The ssl option is equivalent to the tls option.)

    -
    timeoutMS?: number

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

    -
    tls?: boolean

    Enables or disables TLS/SSL for the connection.

    -
    tlsAllowInvalidCertificates?: boolean

    Bypasses validation of the certificates presented by the mongod/mongos instance

    -
    tlsAllowInvalidHostnames?: boolean

    Disables hostname validation of the certificate presented by the mongod/mongos instance.

    -
    tlsCAFile?: string

    Specifies the location of a local .pem file that contains the root certificate chain from the Certificate Authority. This file is used to validate the certificate presented by the mongod/mongos instance.

    -
    tlsCertificateKeyFile?: string

    Specifies the location of a local .pem file that contains either the client's TLS/SSL certificate and key.

    -
    tlsCertificateKeyFilePassword?: string

    Specifies the password to de-crypt the tlsCertificateKeyFile.

    -
    tlsCRLFile?: string

    Specifies the location of a local CRL .pem file that contains the client revokation list.

    -
    tlsInsecure?: boolean

    Disables various certificate validations.

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    ssl?: boolean

    A boolean to enable or disables TLS/SSL for the connection. (The ssl option is equivalent to the tls option.)

    +
    timeoutMS?: number

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

    +
    tls?: boolean

    Enables or disables TLS/SSL for the connection.

    +
    tlsAllowInvalidCertificates?: boolean

    Bypasses validation of the certificates presented by the mongod/mongos instance

    +
    tlsAllowInvalidHostnames?: boolean

    Disables hostname validation of the certificate presented by the mongod/mongos instance.

    +
    tlsCAFile?: string

    Specifies the location of a local .pem file that contains the root certificate chain from the Certificate Authority. This file is used to validate the certificate presented by the mongod/mongos instance.

    +
    tlsCertificateKeyFile?: string

    Specifies the location of a local .pem file that contains either the client's TLS/SSL certificate and key.

    +
    tlsCertificateKeyFilePassword?: string

    Specifies the password to de-crypt the tlsCertificateKeyFile.

    +
    tlsCRLFile?: string

    Specifies the location of a local CRL .pem file that contains the client revokation list.

    +
    tlsInsecure?: boolean

    Disables various certificate validations.

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    w?: W

    The write concern w value

    +
    w?: W

    The write concern w value

    Please use the writeConcern option instead

    -
    waitQueueTimeoutMS?: number

    The maximum time in milliseconds that a thread can wait for a connection to become available.

    -

    A MongoDB WriteConcern, which describes the level of acknowledgement +

    waitQueueTimeoutMS?: number

    The maximum time in milliseconds that a thread can wait for a connection to become available.

    +

    A MongoDB WriteConcern, which describes the level of acknowledgement requested from MongoDB for write operations.

    wtimeoutMS?: number

    The write concern timeout

    +
    wtimeoutMS?: number

    The write concern timeout

    Please use the writeConcern option instead

    -
    zlibCompressionLevel?:
        | 0
        | 5
        | 1
        | 3
        | 9
        | 4
        | 2
        | 8
        | 6
        | 7

    An integer that specifies the compression level if using zlib for network compression.

    -
    +
    zlibCompressionLevel?:
        | 0
        | 5
        | 1
        | 4
        | 8
        | 2
        | 3
        | 9
        | 6
        | 7

    An integer that specifies the compression level if using zlib for network compression.

    +
    diff --git a/docs/Next/interfaces/MongoOptions.html b/docs/Next/interfaces/MongoOptions.html index 581caa7b8a..262a35998f 100644 --- a/docs/Next/interfaces/MongoOptions.html +++ b/docs/Next/interfaces/MongoOptions.html @@ -11,7 +11,7 @@
  • DNS SRV records and TXT records
  • Not all options may be present after client construction as some are obtained from asynchronous operations.

    -
    interface MongoOptions {
        allowPartialTrustChain?: boolean;
        ALPNProtocols?: readonly string[] | ArrayBufferView<ArrayBufferLike>;
        appName?: string;
        autoEncryption: AutoEncryptionOptions;
        autoSelectFamily?: boolean;
        autoSelectFamilyAttemptTimeout?: number;
        ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        checkServerIdentity?: ((hostname: string, cert: PeerCertificate) => Error | undefined);
        ciphers?: string;
        compressors: (
            | "none"
            | "snappy"
            | "zlib"
            | "zstd")[];
        connectTimeoutMS: number;
        credentials?: MongoCredentials;
        crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        dbName: string;
        directConnection: boolean;
        driverInfo: DriverInfo;
        ecdhCurve?: string;
        family?: number;
        forceServerObjectId: boolean;
        heartbeatFrequencyMS: number;
        hints?: number;
        hosts: HostAddress[];
        keepAliveInitialDelay?: number;
        key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[];
        loadBalanced: boolean;
        localAddress?: string;
        localPort?: number;
        localThresholdMS: number;
        lookup?: LookupFunction;
        maxConnecting: number;
        maxIdleTimeMS: number;
        maxPoolSize: number;
        minDHSize?: number;
        minHeartbeatFrequencyMS: number;
        minPoolSize: number;
        monitorCommands: boolean;
        noDelay: boolean;
        passphrase?: string;
        pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[];
        pkFactory: PkFactory;
        proxyHost?: string;
        proxyPassword?: string;
        proxyPort?: number;
        proxyUsername?: string;
        raw: boolean;
        readConcern: ReadConcern;
        readPreference: ReadPreference;
        rejectUnauthorized?: boolean;
        replicaSet: string;
        retryReads: boolean;
        retryWrites: boolean;
        secureContext?: SecureContext;
        secureProtocol?: string;
        serverApi: ServerApi;
        serverMonitoringMode: ServerMonitoringMode;
        servername?: string;
        serverSelectionTimeoutMS: number;
        session?: Buffer<ArrayBufferLike>;
        socketTimeoutMS: number;
        srvHost?: string;
        srvMaxHosts: number;
        srvServiceName: string;
        timeoutMS?: number;
        tls: boolean;
        tlsAllowInvalidCertificates: boolean;
        tlsAllowInvalidHostnames: boolean;
        tlsCAFile?: string;
        tlsCertificateKeyFile?: string;
        tlsCRLFile?: string;
        tlsInsecure: boolean;
        waitQueueTimeoutMS: number;
        writeConcern: WriteConcern;
        zlibCompressionLevel:
            | 0
            | 1
            | 2
            | 3
            | 4
            | 5
            | 6
            | 7
            | 8
            | 9;
    }

    Hierarchy (view full)

    • Required<Pick<MongoClientOptions,
          | "autoEncryption"
          | "connectTimeoutMS"
          | "directConnection"
          | "driverInfo"
          | "forceServerObjectId"
          | "minHeartbeatFrequencyMS"
          | "heartbeatFrequencyMS"
          | "localThresholdMS"
          | "maxConnecting"
          | "maxIdleTimeMS"
          | "maxPoolSize"
          | "minPoolSize"
          | "monitorCommands"
          | "noDelay"
          | "pkFactory"
          | "raw"
          | "replicaSet"
          | "retryReads"
          | "retryWrites"
          | "serverSelectionTimeoutMS"
          | "socketTimeoutMS"
          | "srvMaxHosts"
          | "srvServiceName"
          | "tlsAllowInvalidCertificates"
          | "tlsAllowInvalidHostnames"
          | "tlsInsecure"
          | "waitQueueTimeoutMS"
          | "zlibCompressionLevel">>
    • SupportedNodeConnectionOptions
      • MongoOptions

    Properties

    interface MongoOptions {
        allowPartialTrustChain?: boolean;
        ALPNProtocols?: readonly string[] | ArrayBufferView<ArrayBufferLike>;
        appName?: string;
        autoEncryption: AutoEncryptionOptions;
        autoSelectFamily?: boolean;
        autoSelectFamilyAttemptTimeout?: number;
        ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        checkServerIdentity?: ((hostname: string, cert: PeerCertificate) => Error | undefined);
        ciphers?: string;
        compressors: (
            | "none"
            | "snappy"
            | "zlib"
            | "zstd")[];
        connectTimeoutMS: number;
        credentials?: MongoCredentials;
        crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        dbName: string;
        directConnection: boolean;
        driverInfo: DriverInfo;
        ecdhCurve?: string;
        family?: number;
        forceServerObjectId: boolean;
        heartbeatFrequencyMS: number;
        hints?: number;
        hosts: HostAddress[];
        keepAliveInitialDelay?: number;
        key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[];
        loadBalanced: boolean;
        localAddress?: string;
        localPort?: number;
        localThresholdMS: number;
        lookup?: LookupFunction;
        maxConnecting: number;
        maxIdleTimeMS: number;
        maxPoolSize: number;
        minDHSize?: number;
        minHeartbeatFrequencyMS: number;
        minPoolSize: number;
        monitorCommands: boolean;
        noDelay: boolean;
        passphrase?: string;
        pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[];
        pkFactory: PkFactory;
        proxyHost?: string;
        proxyPassword?: string;
        proxyPort?: number;
        proxyUsername?: string;
        raw: boolean;
        readConcern: ReadConcern;
        readPreference: ReadPreference;
        rejectUnauthorized?: boolean;
        replicaSet: string;
        retryReads: boolean;
        retryWrites: boolean;
        secureContext?: SecureContext;
        secureProtocol?: string;
        serverApi: ServerApi;
        serverMonitoringMode: ServerMonitoringMode;
        servername?: string;
        serverSelectionTimeoutMS: number;
        session?: Buffer<ArrayBufferLike>;
        socketTimeoutMS: number;
        srvHost?: string;
        srvMaxHosts: number;
        srvServiceName: string;
        timeoutMS?: number;
        tls: boolean;
        tlsAllowInvalidCertificates: boolean;
        tlsAllowInvalidHostnames: boolean;
        tlsCAFile?: string;
        tlsCertificateKeyFile?: string;
        tlsCRLFile?: string;
        tlsInsecure: boolean;
        waitQueueTimeoutMS: number;
        writeConcern: WriteConcern;
        zlibCompressionLevel:
            | 0
            | 1
            | 2
            | 3
            | 4
            | 5
            | 6
            | 7
            | 8
            | 9;
    }

    Hierarchy (view full)

    • Required<Pick<MongoClientOptions,
          | "autoEncryption"
          | "connectTimeoutMS"
          | "directConnection"
          | "driverInfo"
          | "forceServerObjectId"
          | "minHeartbeatFrequencyMS"
          | "heartbeatFrequencyMS"
          | "localThresholdMS"
          | "maxConnecting"
          | "maxIdleTimeMS"
          | "maxPoolSize"
          | "minPoolSize"
          | "monitorCommands"
          | "noDelay"
          | "pkFactory"
          | "raw"
          | "replicaSet"
          | "retryReads"
          | "retryWrites"
          | "serverSelectionTimeoutMS"
          | "socketTimeoutMS"
          | "srvMaxHosts"
          | "srvServiceName"
          | "tlsAllowInvalidCertificates"
          | "tlsAllowInvalidHostnames"
          | "tlsInsecure"
          | "waitQueueTimeoutMS"
          | "zlibCompressionLevel">>
    • SupportedNodeConnectionOptions
      • MongoOptions

    Properties

    allowPartialTrustChain?: boolean

    Treat intermediate (non-self-signed) certificates in the trust CA certificate list as trusted.

    v22.9.0, v20.18.0

    -
    ALPNProtocols?: readonly string[] | ArrayBufferView<ArrayBufferLike>

    An array of strings or a Buffer naming possible ALPN protocols. +

    ALPNProtocols?: readonly string[] | ArrayBufferView<ArrayBufferLike>

    An array of strings or a Buffer naming possible ALPN protocols. (Protocols should be ordered by their priority.)

    -
    appName?: string
    autoEncryption: AutoEncryptionOptions

    Optionally enable in-use auto encryption

    +
    appName?: string
    autoEncryption: AutoEncryptionOptions

    Optionally enable in-use auto encryption

    Automatic encryption is an enterprise only feature that only applies to operations on a collection. Automatic encryption is not supported for operations on a database or view, and operations that are not bypassed will result in error (see libmongocrypt: Auto Encryption Allow-List). To bypass automatic encryption for all operations, set bypassAutoEncryption=true in AutoEncryptionOpts.

    Automatic encryption requires the authenticated user to have the listCollections privilege action.

    @@ -100,9 +100,9 @@
  • AutoEncryptionOptions.bypassAutomaticEncryption is false.
  • If an internal MongoClient is created, it is configured with the same options as the parent MongoClient except minPoolSize is set to 0 and AutoEncryptionOptions is omitted.

    -
    autoSelectFamily?: boolean

    v18.13.0

    -
    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    -
    ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Optionally override the trusted CA certificates. Default is to trust +

    autoSelectFamily?: boolean

    v18.13.0

    +
    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    +
    ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Optionally override the trusted CA certificates. Default is to trust the well-known CAs curated by Mozilla. Mozilla's CAs are completely replaced when CAs are explicitly specified using this option.

    cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Cert chains in PEM format. One cert chain should be provided per @@ -134,15 +134,15 @@ information, see modifying the default cipher suite. Permitted ciphers can be obtained via tls.getCiphers(). Cipher names must be uppercased in order for OpenSSL to accept them.

    -
    compressors: (
        | "none"
        | "snappy"
        | "zlib"
        | "zstd")[]
    connectTimeoutMS: number

    The time in milliseconds to attempt a connection before timing out.

    -
    credentials?: MongoCredentials
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    -
    dbName: string
    directConnection: boolean

    Allow a driver to force a Single topology type with a connection string containing one host

    -
    driverInfo: DriverInfo

    Allows a wrapping driver to amend the client metadata generated by the driver to include information about the wrapping driver +

    compressors: (
        | "none"
        | "snappy"
        | "zlib"
        | "zstd")[]
    connectTimeoutMS: number

    The time in milliseconds to attempt a connection before timing out.

    +
    credentials?: MongoCredentials
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    +
    dbName: string
    directConnection: boolean

    Allow a driver to force a Single topology type with a connection string containing one host

    +
    driverInfo: DriverInfo

    Allows a wrapping driver to amend the client metadata generated by the driver to include information about the wrapping driver /*

    • Will be made internal in a future major release.
    -
    ecdhCurve?: string

    A string describing a named curve or a colon separated list of curve +

    ecdhCurve?: string

    A string describing a named curve or a colon separated list of curve NIDs or names, for example P-521:P-384:P-256, to use for ECDH key agreement. Set to auto to select the curve automatically. Use crypto.getCurves() to obtain a list of available curve names. On @@ -150,9 +150,9 @@ name and description of each available elliptic curve. Default: tls.DEFAULT_ECDH_CURVE.

    family?: number
    forceServerObjectId: boolean

    Force server to assign _id values instead of driver

    -
    heartbeatFrequencyMS: number

    heartbeatFrequencyMS controls when the driver checks the state of the MongoDB deployment. Specify the interval (in milliseconds) between checks, counted from the end of the previous check until the beginning of the next one.

    -
    hints?: number
    hosts: HostAddress[]
    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    -
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys +

    heartbeatFrequencyMS: number

    heartbeatFrequencyMS controls when the driver checks the state of the MongoDB deployment. Specify the interval (in milliseconds) between checks, counted from the end of the previous check until the beginning of the next one.

    +
    hints?: number
    hosts: HostAddress[]
    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    +
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys being encrypted. Encrypted keys will be decrypted with options.passphrase. Multiple keys using different algorithms can be provided either as an array of unencrypted key strings or buffers, @@ -160,17 +160,17 @@ passphrase: ]}. The object form can only occur in an array. object.passphrase is optional. Encrypted keys will be decrypted with object.passphrase if provided, or options.passphrase if it is not.

    -
    loadBalanced: boolean
    localAddress?: string
    localPort?: number
    localThresholdMS: number

    The size (in milliseconds) of the latency window for selecting among multiple suitable MongoDB instances.

    -
    lookup?: LookupFunction
    maxConnecting: number

    The maximum number of connections that may be in the process of being established concurrently by the connection pool.

    -
    maxIdleTimeMS: number

    The maximum amount of time a connection should remain idle in the connection pool before being marked idle, in milliseconds. +

    loadBalanced: boolean
    localAddress?: string
    localPort?: number
    localThresholdMS: number

    The size (in milliseconds) of the latency window for selecting among multiple suitable MongoDB instances.

    +
    lookup?: LookupFunction
    maxConnecting: number

    The maximum number of connections that may be in the process of being established concurrently by the connection pool.

    +
    maxIdleTimeMS: number

    The maximum amount of time a connection should remain idle in the connection pool before being marked idle, in milliseconds. If specified, this must be a number greater than or equal to 0, where 0 means there is no limit. Defaults to 0. After this time passes, the idle collection can be automatically cleaned up in the background.

    -
    maxPoolSize: number

    The maximum number of connections in the connection pool.

    -
    minDHSize?: number
    minHeartbeatFrequencyMS: number

    Sets the minimum heartbeat frequency. In the event that the driver has to frequently re-check a server's availability, it will wait at least this long since the previous check to avoid wasted effort.

    -
    minPoolSize: number

    The minimum number of connections in the connection pool.

    -
    monitorCommands: boolean

    Enable command monitoring for this client

    -
    noDelay: boolean

    TCP Connection no delay

    -
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    +
    maxPoolSize: number

    The maximum number of connections in the connection pool.

    +
    minDHSize?: number
    minHeartbeatFrequencyMS: number

    Sets the minimum heartbeat frequency. In the event that the driver has to frequently re-check a server's availability, it will wait at least this long since the previous check to avoid wasted effort.

    +
    minPoolSize: number

    The minimum number of connections in the connection pool.

    +
    monitorCommands: boolean

    Enable command monitoring for this client

    +
    noDelay: boolean

    TCP Connection no delay

    +
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[]

    PFX or PKCS12 encoded private key and certificate chain. pfx is an alternative to providing key and cert individually. PFX is usually encrypted, if it is, passphrase will be used to decrypt it. Multiple @@ -180,7 +180,7 @@ object.passphrase is optional. Encrypted PFX will be decrypted with object.passphrase if provided, or options.passphrase if it is not.

    pkFactory: PkFactory

    A primary key factory function for generation of custom _id keys

    -
    proxyHost?: string
    proxyPassword?: string
    proxyPort?: number
    proxyUsername?: string
    raw: boolean

    Enabling the raw option will return a Node.js Buffer +

    proxyHost?: string
    proxyPassword?: string
    proxyPort?: number
    proxyUsername?: string
    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. @@ -191,16 +191,16 @@

    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: ReadConcern
    readPreference: ReadPreference
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not +

    readConcern: ReadConcern
    readPreference: ReadPreference
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not authorized with the list of supplied CAs. This option only has an effect if requestCert is true.

    true
     
    replicaSet: string

    Specifies the name of the replica set, if the mongod is a member of a replica set.

    -
    retryReads: boolean

    Enables retryable reads.

    -
    retryWrites: boolean

    Enable retryable writes.

    -
    secureContext?: SecureContext

    An optional TLS context object from tls.createSecureContext()

    +
    retryReads: boolean

    Enables retryable reads.

    +
    retryWrites: boolean

    Enable retryable writes.

    +
    secureContext?: SecureContext

    An optional TLS context object from tls.createSecureContext()

    secureProtocol?: string

    Legacy mechanism to select the TLS protocol version to use, it does not support independent control of the minimum and maximum version, and does not support limiting the protocol to TLSv1.3. Use @@ -210,14 +210,14 @@

    serverApi: ServerApi
    serverMonitoringMode: ServerMonitoringMode
    servername?: string
    serverSelectionTimeoutMS: number

    Specifies how long (in milliseconds) to block for server selection before throwing an exception.

    -
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    +
    serverApi: ServerApi
    serverMonitoringMode: ServerMonitoringMode
    servername?: string
    serverSelectionTimeoutMS: number

    Specifies how long (in milliseconds) to block for server selection before throwing an exception.

    +
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    socketTimeoutMS: number

    The time in milliseconds to attempt a send or receive on a socket before the attempt times out.

    -
    srvHost?: string
    srvMaxHosts: number

    The maximum number of hosts to connect to when using an srv connection string, a setting of 0 means unlimited hosts

    -
    srvServiceName: string

    Modifies the srv URI to look like:

    +
    srvHost?: string
    srvMaxHosts: number

    The maximum number of hosts to connect to when using an srv connection string, a setting of 0 means unlimited hosts

    +
    srvServiceName: string

    Modifies the srv URI to look like:

    _{srvServiceName}._tcp.{hostname}.{domainname}

    Querying this DNS URI is expected to respond with SRV records

    -
    timeoutMS?: number
    tls: boolean

    NOTE ABOUT TLS Options

    If tls is provided as an option, it is equivalent to setting the ssl option.

    +
    timeoutMS?: number
    tls: boolean

    NOTE ABOUT TLS Options

    If tls is provided as an option, it is equivalent to setting the ssl option.

    NodeJS native TLS options are passed through to the socket and retain their original types.

    @@ -280,9 +280,9 @@