From fc95f14aa5d5cfad46c64bcc9db9eaa48f270933 Mon Sep 17 00:00:00 2001 From: baileympearson <23407842+baileympearson@users.noreply.github.com> Date: Thu, 7 Aug 2025 16:17:28 +0000 Subject: [PATCH] [create-pull-request] automated change --- docs/Next/assets/navigation.js | 2 +- docs/Next/assets/search.js | 2 +- docs/Next/classes/AbstractCursor.html | 42 +++---- docs/Next/classes/AggregationCursor.html | 38 +++--- docs/Next/classes/Batch.html | 4 +- docs/Next/classes/BulkOperationBase.html | 10 +- docs/Next/classes/BulkWriteResult.html | 32 ++--- docs/Next/classes/CancellationToken.html | 34 +++--- docs/Next/classes/ChangeStream.html | 34 +++--- docs/Next/classes/ClientSession.html | 34 +++--- docs/Next/classes/Collection.html | 96 +++++++-------- docs/Next/classes/Db.html | 44 +++---- docs/Next/classes/ExplainableCursor.html | 48 ++++---- docs/Next/classes/FindCursor.html | 38 +++--- docs/Next/classes/FindOperators.html | 22 ++-- docs/Next/classes/GridFSBucket.html | 34 +++--- docs/Next/classes/GridFSBucketReadStream.html | 6 +- .../Next/classes/GridFSBucketWriteStream.html | 6 +- docs/Next/classes/ListCollectionsCursor.html | 42 +++---- docs/Next/classes/ListIndexesCursor.html | 42 +++---- .../Next/classes/ListSearchIndexesCursor.html | 38 +++--- docs/Next/classes/MongoBulkWriteError.html | 22 ++-- docs/Next/classes/MongoClient.html | 34 +++--- docs/Next/classes/OrderedBulkOperation.html | 8 +- docs/Next/classes/RunCommandCursor.html | 40 +++---- docs/Next/classes/ServerCapabilities.html | 4 +- docs/Next/classes/TypedEventEmitter.html | 34 +++--- docs/Next/classes/UnorderedBulkOperation.html | 8 +- docs/Next/classes/WriteConcernError.html | 10 +- docs/Next/classes/WriteError.html | 14 +-- docs/Next/hierarchy.html | 2 +- docs/Next/interfaces/AggregateOptions.html | 36 +++--- .../interfaces/AggregationCursorOptions.html | 26 ++-- .../interfaces/BulkWriteOperationError.html | 4 +- docs/Next/interfaces/BulkWriteOptions.html | 28 ++--- docs/Next/interfaces/ChangeStreamOptions.html | 30 ++--- .../interfaces/ClientBulkWriteOptions.html | 20 ++-- .../ClusteredCollectionOptions.html | 4 +- docs/Next/interfaces/CollectionInfo.html | 4 +- docs/Next/interfaces/CollectionOptions.html | 8 +- .../interfaces/CommandOperationOptions.html | 20 ++-- docs/Next/interfaces/ConnectOptions.html | 4 +- docs/Next/interfaces/ConnectionOptions.html | 16 +-- .../interfaces/ConnectionPoolOptions.html | 16 +-- .../interfaces/CountDocumentsOptions.html | 40 +++---- docs/Next/interfaces/CountOptions.html | 20 ++-- .../interfaces/CreateCollectionOptions.html | 54 ++++----- .../Next/interfaces/CreateIndexesOptions.html | 44 +++---- docs/Next/interfaces/DbOptions.html | 16 +-- docs/Next/interfaces/DbStatsOptions.html | 20 ++-- docs/Next/interfaces/DeleteManyModel.html | 8 +- docs/Next/interfaces/DeleteOneModel.html | 8 +- docs/Next/interfaces/DeleteOptions.html | 28 ++--- docs/Next/interfaces/DeleteResult.html | 6 +- docs/Next/interfaces/DeleteStatement.html | 10 +- .../interfaces/DropCollectionOptions.html | 22 ++-- .../EstimatedDocumentCountOptions.html | 20 ++-- .../interfaces/ExplainCommandOptions.html | 6 +- docs/Next/interfaces/ExplainOptions.html | 4 +- .../interfaces/FindOneAndDeleteOptions.html | 20 ++-- .../interfaces/FindOneAndReplaceOptions.html | 20 ++-- .../interfaces/FindOneAndUpdateOptions.html | 20 ++-- docs/Next/interfaces/FindOneOptions.html | 111 ++++++++++++++++++ docs/Next/interfaces/FindOptions.html | 64 +++++----- docs/Next/interfaces/IndexDescription.html | 24 ++-- .../interfaces/IndexInformationOptions.html | 4 +- docs/Next/interfaces/InsertManyResult.html | 8 +- docs/Next/interfaces/InsertOneModel.html | 4 +- docs/Next/interfaces/InsertOneOptions.html | 24 ++-- docs/Next/interfaces/InsertOneResult.html | 6 +- .../interfaces/ListCollectionsOptions.html | 22 ++-- .../Next/interfaces/ListDatabasesOptions.html | 24 ++-- docs/Next/interfaces/ListDatabasesResult.html | 4 +- docs/Next/interfaces/ModifyResult.html | 4 +- docs/Next/interfaces/MonitorOptions.html | 12 +- docs/Next/interfaces/OperationOptions.html | 13 +- docs/Next/interfaces/ProxyOptions.html | 4 +- docs/Next/interfaces/RenameOptions.html | 20 ++-- docs/Next/interfaces/ReplaceOneModel.html | 14 +-- docs/Next/interfaces/ReplaceOptions.html | 32 ++--- .../interfaces/SearchIndexDescription.html | 8 +- docs/Next/interfaces/SelectServerOptions.html | 6 +- .../TimeSeriesCollectionOptions.html | 4 +- docs/Next/interfaces/TransactionOptions.html | 16 +-- docs/Next/interfaces/UpdateManyModel.html | 14 +-- docs/Next/interfaces/UpdateOneModel.html | 16 +-- docs/Next/interfaces/UpdateOptions.html | 32 ++--- docs/Next/interfaces/UpdateResult.html | 12 +- docs/Next/interfaces/UpdateStatement.html | 18 +-- .../interfaces/ValidateCollectionOptions.html | 20 ++-- .../interfaces/WriteConcernErrorData.html | 4 +- docs/Next/modules.html | 1 + docs/Next/types/AnyBulkWriteOperation.html | 2 +- docs/Next/types/BatchType.html | 2 +- .../types/ClientEncryptionTlsOptions.html | 2 +- docs/Next/types/ConnectionEvents.html | 2 +- docs/Next/types/DropDatabaseOptions.html | 2 +- docs/Next/types/DropIndexesOptions.html | 2 +- docs/Next/types/ExplainVerbosity.html | 2 +- docs/Next/types/ExplainVerbosityLike.html | 2 +- docs/Next/types/Hint.html | 2 +- docs/Next/types/IndexDescriptionCompact.html | 2 +- docs/Next/types/IndexDescriptionInfo.html | 2 +- docs/Next/types/IndexDirection.html | 2 +- docs/Next/types/IndexSpecification.html | 2 +- docs/Next/types/ListIndexesOptions.html | 2 +- docs/Next/types/ServerEvents.html | 2 +- docs/Next/types/TopologyEvents.html | 2 +- docs/Next/variables/BatchType-1.html | 2 +- docs/Next/variables/ExplainVerbosity-1.html | 2 +- docs/index.html | 2 +- 111 files changed, 1050 insertions(+), 939 deletions(-) create mode 100644 docs/Next/interfaces/FindOneOptions.html diff --git a/docs/Next/assets/navigation.js b/docs/Next/assets/navigation.js index 7f79ea80557..c408247e6db 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,H4sIAAAAAAAAA62dW3PjuLHHv4vP6+5JZvaS7Lx5bHlW8UUuyzPzkEpNwSQs4ZgCFRDyWknlu58CSZG4NLqbnLyp1H/8/rwCINAg//7vMyvf7NmHs49KC3M8++FsL+z27MPZri4PlWz+d2t31f8MwRely7MPP7/77eef/vzzf34YS69Xdw9ys3jb5wi+AKOsj7unukIogwCjPB73EmH04Rzhoi5zpftQruTlxwf5nCl6imXLykLtRPXu/V9zAF+Qo5SykUaJSv0rtwuhIrs1dXHYSW1z2zKG84TDU5XbiCGYK73U9qf3mcKnWK7sTa03maJ9KFfyVrxdy9xdMASzpZVGSp+CudKrp/+ThV2WmfJeOEegzjznvD+qnWys2OVuZD+eY3z+vLzMFO9D2L2blPyT+7ctPpb84ayoRNOcfTizTfmjan6Ub1YaLZyk2KqqNFKfffh7tnprS5/QXTB0ePf+r3mPaIsXxtQmxz7F5+NXz8+NtJSJp5pvFdfhiUsn+A6Dg7ZqJ6md8WXzzeK2JLHpBPMNvojqIBF+G/8OvDSNqjV1sHzZPLOwwQsMXGgeNGoLA2obm4kFmsmQPQhmGkTtVghvg/PAUZMWcNvYPGzY2gVUF5oHjRvCANsFZ4KjNjIEt8F54LT5DNCn8Dw40CoG9CE+Dx82mAHZhWbWIG2rtnizUpfSOyxKW2meRRG2fidd6PX+l19neN3IjSiOXMdOPdN3aJIY+5lo/1ue5P5mSsz37xou3j6H2nmerhWg3XzVPJ+2XbhRLzJvMkhmOgytA70/qXau59DzXu2tqnWDecbamZ7J81vi1Cvm8l1DyDiGgW6eV9s40laBbJ6TazBpI181z6drQWmnUDfTq21UGV6Bbp7XqZWl3WLl9/nhVYavmuezZt+/sXKe39CfoA9kIv2eFnwt/3mQuvCOpT3uw2b7JIls/vzbX9798p7dgIUDdL5JH5yPvxBVcaiEld1pX0NnzTPMy+dvwuJv7oEcMfUF821cPfRV2W19sKtXaYwqJWwHCefbrvSl3Aldglan4Hz8cEHj+5TK5lu6TnZ6p3lmvuC/eeG/CqPEUxVf/D++C01+mnDZZeFtdBYXunwu2mI5r2yJWf51csFFdifBzONWpFXAaPV80EV7n3ZWgDb0/BUZm6TG6SMvT/O9HmtrpNhxnDrlLD96j75vf4bS7tL6eHh+luZcl0tdyjfaMS0zcxvsUnd/dzT0agHVE3z/4TmfPzXWiMJeHEwDjQeG8WTMwCeVO6UBgPsbLbfZGLkRbv+yGxFLMN5HYYstMO7h/kbLHaqX1V6a1uajaKDBulhC8b4aZeWDbA6VhWmeAGNdCF3Iqmp9H+sXCRznRIKM75Ryb2QhrCyDLs5W6E1yTw98L4puaqWktgtdmGPbEwFIkYKmrWXTIKg+jHLqqpJFZnuGGE7YucbgSqhKlovX4CF4JMUaBnFthbEU0hdxmIeikLIkqYEM52rdHaOLrSxeZLnUWTSsnERfHSwXf5JO4K8OljiNiHyaD3VyMT3TqaobjsEoY3KNFKwt93Q88n1dVxeVFIZBj7VTHFjHJZJO4DOPT6zlO9zWWtnaKL1hmURyvs+DFOWRZTEqeXQemUe9fEoZl09YicXbvhJKux59rmORSDDeldJlDjTGKELXf6hNA0OGMMb5ZFR5tf54KF4kcGT9KJfizkGu5Yd1XHLbw+GgPSHG/r1u7HlZGtkAR9ALYowb1dix1W9yJxWUUdz2IUCizEBC8dZSmGLLoAJCjH1b6019fr/M5AEEYZrzdY1y+jDN+dfB5NI4IgHJajv8D3LxJouDzSc85LW0w6kDj6IDEcn0u9kYNtHR5LavnMO1QSZj2KXuKkM3M1tgqtcEl3l8znWClmE69r0N0sXT0eR6txdWPalK2SOKToQ028hSaqtEBVS4sYJBO+5texdf364f3Kh/k0tCw/U8p67ndSmscLNQlE+qnuLSP9HKcmwzmI65kjx30mQCa6lfRaXKc7NpZ3FJNKTnOY2n807aP2rz4obe6wNtiRakvbsa6G0rDo0lbkNAyuQv9ecGr7EiGcm9/DheG3diJ5u9KIARqryW4UBzJ9BkUe/2phuZwY5EKqTZRr1KtNnxFCQN4zAJb3tlZLmmdxZQkvRPF/cY8hSmOW1f+2J70C8oL5IxuXSPJdGR5AmV0ax66FqaJ2nqBgMHGpJ4q5pG6Y3XIGLsjJrrcin3bupQF2jDBotJj75uxci+hMtjVPJzavW72vbjCXiVnuhI8mp5eYERhzhNOk0cMI4BqCUd7oXBW51RQLLwlPpEQvLW0rxKQ/d9Ex2TTDOn0NaS0YGDpDTfikreG7VzuaoYPNbR5GNjJVoDewqS9ihUNQ6LYVRASdPrfV3VmyN9PQBKmm6EbgR5/mIZyf2s5du+rTu6U/8gm32t8VsOLUM6dg/NtS6kQXcl0WHklSmlkWUwmZlyIRVGdSOD/RakMC9IMe6NfJYmTBfzMWMcJR10P8eVGzKLFRitr5TEXrQPzkoCT8KphkHE5igSCc27lE1hVGbaNZFM4nXjTfi2ZuS0z+9SGPskBT4tl9dOcMAn5BDxFA9i9hWV0z6rvdT5SaFUQxOz8+tBGOW03Xr8+oslGC+q9uFdBUQcJrqVgGgiE79TiAIcL/z8QyqUOraCAGwMTk4ncSmH3U4tdspaCdTBiQTb0M+6ZjVcsA4j+61nyvOjXEqmrZ7UTGOj3rxh7jB3C0syB5VRSuovvwJJW2jqeiziAIcULw44FqMGzVEXl6rZ140IVmL63FCD4g52CzMOdksVvJXFVmjV7O5NvZcm7FBELEBL4OsxtQo9iJASRX9dg3MBPjOQELDR/Foe0S2FtQT++nZ9b+pXVUpzUetntTnENUZokdOjNu10JHs/cmrMol1sx10oQq4TgfIThzoyqmx8Nqxl4pFtjkQY0J/xdOPbt3WJLkdD9Gybbj6I7RLIp5m08/YTnYIyXLtLWckJ+xTK2Sa9fpyHCBcj58zAYtNNd7vMbZ6XTzUJlpsTDsnqcxo/3GdgZ5XwgwpP3YCvoqrc4CPb9FSAbWTqvZtpfRLNhKsRKDTJcJLRDINpt3FSgmu11I00lu0Tyvkm7ZzKlBowLcI1czOL63DuMeMxKLlorAECdFzsg3xWWo5V1XorTHktj+yDRQH4G6LFjn+OQjnfZF+JYopLoOfbNO4ojAdlgmGmJNd6PdM4U45tu69UnOyecxqkXPjn/aTbN5SjJmhylo8nU7NQMHrvgtIJ8HhhTp4NrdCB0F1v6Vbo421dygpBR0oueqUlj3wScsHksfBlNHR8yglyqk4PWPRp5QGmbEj/a4p1WGSK2RSXGfgH+YcRe3f1fMeBpSDftUHk9USWpe27bg3jlgiFE8DkXkRKGn0rrSiFFQjzJElg5AK+oDh9KUTKmX59S884DZGSPlj9xAO9J6GQBncNHaeejpRcNONohEIumLwifRkNbVs3aktHEQ6sG6K9HgUzrjWXhGn8FFncKyfHd6EtlX/uHeMopu7X4aJbGIkoYLcTS/1cZ3GjhAejNo9/3LqJ9GHcAQeDWhx/WiqGgyMVD+nWtfGwnpKBZjBZsIMeHtwbnAkoSTRJ5IDaDhrzsoK1NL5f10SzQyEB7mcqTh2fLDfWodh2Roox9JDqMGzfNwJRfQwt/oRtyxDFEWsr8IswlKAwxpPShGckxtMR/7moV2L76StoFNJocx+rOp07ujL7KB9pUFybIJ9tTcYwDqn3vNseVGLohS4Znb9EhSLd0AM1nB6LUGBj1c71U8aZBKJGRUugVt065aHtRCwgJQPNYDJgV6qybfJRvMTZo0UaHKfLlZbnuqRvyYyWhz89mbD4oZhn0Hf2WfxAy8AzqFwYRaIxbjkKdz48o0Xx3oJxFJ3quNhxiTvXICkx28q9TupBvqomVz+xS3M3wVt1z93dtAht1q4nQshtnMZcqUzmzhjGIL/LcoPeLr4AAy3L+2zb2ceI4mE2eA4UqlBkO41ItG6xiAS6HTE78pkuo8XxbuDM9e2QzlEsooFoD5A/DDgo8b0ORSwgubesscTr2yW/ms2JKYNJCVRYAdxojT99+QIMFL2sAzsgsJSCn/IOSHQsZIORawPQodi6ENWk84eWwK02GeCGKObeRVDrdvT2VZp2yUQ33ogeYLocZntbl+oZq3J8AQ4aXtSAbW4qo6FjAiVNTrQk/vLjTb1xTXg2CzaVkVB/KSi50YCYNCChPJB7QRaB8iQYzK37vBBV9SSKl3thxA4GpjIKinYJfAEK4ozEThmCvX+5EoWtDTz+NERRhKnf0HbKF2CgB5ewgIF8AQoKlpNdmRrtAmfVfAv3qni+hafmW/DxLLRLFcKRngJH0bOEE+YHGQ/s/Md0V9tTu+kpJs9dPdS15YyMADpss70XflEdf1iKw1336LSYLH9kAB2OdcLzvcrA+iiKiNeRoZuXEWMGbnrPJdLLhje4iehRm3QlGOqSlXNM+q+5oeReg+LG9WDotiYyDNpnnRGXcKKikfjswoSZfcacPn82nx4KZA8AkikB3GSATofPLkQaDPelTwLm3T9ZNWaRLKW7zCXVgMpJaOQAZ7RcPHZYAB0Xu5bWKr2huSchBj5/qk30sNB9w2IIRKW7b1cEBH91YZvAmnx9A9KQ3KKQ7q1pV0pWZUoMoiSrLB/rtbRAC93jYgFJrNr37Vv1KqHv0kRhkqaP6SKshAmJGOQo2zWq5QY2JGPQo+TgAQflAqfljRHHRRVVSz3Di7E4p3MHgk5BkuQvykxIfpBB8lZgLt6sSZP2BmxGOc3jpt5spLmRr8D5zQlJB3/N52n4KKFDIpLcv/aRGMXqHTAx5dS+/xX8etQpQBKU/UM1suu+JxQ/SJL6z/WcV0qAHykaghTpNPAQQ07/k+WBZV4JC9BM4cKtQaogmYwqbE79FScrR6nSsEVWPtVtXYMTnbBXIJ7q9AiMNsI2j7mxxozH6WWH8IlOJSS1Xa+ZwXkxBqd97WTaHIwRPsOtSstzXJRm6VJBNdsQYBD6VMXc0QnjfJ5LfaSYo4bkrq9uFte3a+SaSxQks+03XlVik7CGCI/Rv3LvNvh6uY/yBBTxUjVWaSAZtONFYZLmrX7NEVMJh5rLrhyhaFplwlzorfscUbnaqaTF8GMkx3s3jMtuaJ8+EyAkYpEbcNDBozb58YaU2GVJfZHmqW6UPSbAKD6VF36NFGYC3yJNuHAXhdc38UcnoSsljpO8Slgrk2Pf/02V/nTBmKPuiIiUdJFaGlW4GVj3KyGHYZLmJdLANWqqIJnr9fn98kLoWqvCvf6j3a8vojokFwwipVx+V2nvz/1HlYtHndtX0BcJKiObSg/TcmA0kJ6T4SoTfzTMJ56iLNZ6Lwv1rArw8kwVNPNZmmUJPbN4IZpi5UYamDKESEpzrpPqrv2TKvm3WiXHwv1HlbuWx2b1fA5ttxfiUVZ2Cx+BKEzRvC+7ZNrRVMFhBt91QciQjuLfusdbt5/numwrgYScKkjmmPIAV3CJgEVsR4tuxFP6WBeFWTQ3vtG+tPaUSwJCExWD7fIHsvs9BinSnXTfHLgXdptwvNAEyuoZusYTAUmstf/h89ywQEZG0y0+qJsISOJh55pncN/HEEXx0ziu+o+xxjhIQ3K1XJnb2iTbNgRoQnXsjgR8guM4yfPfPJ7A/CBNckpRLZOPX48RLuOzrmTTuM9+uM8n5ImxjuLfm/pZVUpvwCHRMDqNlamoQRGD7N78d4TOrx8jOYeqOq+q3Ch4FObQMBSf02zznDFGcbx3TINnM45P4QGPXlGYQwtTeyBgqJjGhAYsUgXN3Cze9iu3LlHpZCwljNKsXf0qPzdABskJFwloosvDib6AfGINIZpiDwZ4wc8J5EdJ1iG7KqvHxQIOsR1normAjKKvi63ciVu5e0ofZf0YyTml6iSZJT0rivN4cMfJj/E447dQobsC0vC4/UB12gBFYR4Nqs/HCM2wcB9pCDAIrEYrp6P5bX72EayOgyBJqk1yn7r/OOWyD/FBcBLpqjYXu/QaSCUcah7GZETfVu3LAx9SBcuqwsIjgn6Mx6GfJnM6Hr/LQMK21leQzMN+X7vX+9/VpUReMdHzUTXbC53Qg1Vs9uPNmr8bkHiKE29HYiHl8Cg2a5nc6d2/ZNk+jRFuQ8IolwXV0H6M4mBX7JRr9Wtc+CtZQtlt2kx1/3LK1gcLF28DHELfGOaSEAAJh+qllmJkQDYzr+dVGOXGgKLcnh/fhbyfIhSVdBNgYTFqAWSsjMghiCKgCfCRMUZxyOeH9erh29XN+ac1iPHiGCY/9eqxYhG6Zfn5uJEYa1Aga5plZCNy1OZm8en85tvjxf239erievH4bXX/uFzdgUc3p6XxN2s+PtEi+NvV3afVt4ub5eLu8dviy+LuESQDMgyaGwD2gKEEPcLUCHBETZQoPDekNEJDBQrLj2mMuFhDAnNDBiEyVBFQ+HnaB/oKFJZ/sBxxsYYBzD0RxtBQxwDn6uAxSkDAZySf4wlQFNxpGUl+HAUV/fS4dNWjKpR9kE19MIVbLCE2USrucz/U3fyJUSw0/fXn//zj/wEx86AJLKgAAA==" \ No newline at end of file diff --git a/docs/Next/assets/search.js b/docs/Next/assets/search.js index 595e76ee520..b7898898666 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/AbstractCursor.html b/docs/Next/classes/AbstractCursor.html index ee1387bec32..906a53dd19d 100644 --- a/docs/Next/classes/AbstractCursor.html +++ b/docs/Next/classes/AbstractCursor.html @@ -58,7 +58,7 @@
signal: undefined | AbortSignal
captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

-
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

+
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

See how to write a custom rejection handler.

v13.4.0, v12.16.0

CLOSE: "close" = ...
defaultMaxListeners: number

By default, a maximum of 10 listeners can be registered for any single @@ -86,7 +86,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

v0.11.2

-
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

+
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

v13.6.0, v12.17.0

@@ -97,10 +97,10 @@

Returns undefined | Long

Methods

  • Type Parameters

    • K

    Parameters

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

    Returns void

  • Add a cursor flag to the cursor

    -

    Parameters

    • flag:
          | "tailable"
          | "oplogReplay"
          | "noCursorTimeout"
          | "awaitData"
          | "exhaust"
          | "partial"

      The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

      +

      Parameters

      • flag:
            | "tailable"
            | "awaitData"
            | "noCursorTimeout"
            | "oplogReplay"
            | "exhaust"
            | "partial"

        The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

      • value: boolean

        The flag boolean value.

      Returns this

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

    -

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    Returns this

    v0.1.26

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

    Parameters

    Returns this

    v0.1.26

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

    @@ -116,7 +116,7 @@
    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
    -

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    Returns boolean

    v0.1.26

    +

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    Returns boolean

    v0.1.26

  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -130,22 +130,22 @@
  • Will be removed in a future release. Use for await...of instead.
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    -

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    Returns number

    v3.2.0

    -
  • Map all documents using the provided function If there is a transform set on the cursor, that will be called first and the result passed to this function's transform.

    -

    Type Parameters

    • T = any

    Parameters

    • transform: ((doc: TSchema) => T)

      The mapping transformation method.

      -

    Returns AbstractCursor<T, AbstractCursorEvents>

    Note Cursors use null internally to indicate that there are no more documents in the cursor. Providing a mapping +

    Type Parameters

    • T = any

    Parameters

    • transform: ((doc: TSchema) => T)

      The mapping transformation method.

      +

    Returns AbstractCursor<T, AbstractCursorEvents>

    Note Cursors use null internally to indicate that there are no more documents in the cursor. Providing a mapping function that maps values to null will result in the cursor closing itself before it has finished iterating all documents. This will not result in a memory leak, just surprising behavior. For example:

    const cursor = collection.find({});
    cursor.map(() => null);

    const documents = await cursor.toArray();
    // documents is always [], regardless of how many documents are in the collection. @@ -166,7 +166,7 @@
  • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.once('log', () => console.log('log once'));

    // Returns a new Array with a function `onceWrapper` which has a property
    // `listener` which contains the original listener bound above
    const listeners = emitter.rawListeners('log');
    const logFnWrapper = listeners[0];

    // Logs "log once" to the console and does not unbind the `once` event
    logFnWrapper.listener();

    // Logs "log once" to the console and removes the listener
    logFnWrapper();

    emitter.on('log', () => console.log('log persistently'));
    // Will return a new Array with a single function bound by `.on()` above
    const newListeners = emitter.rawListeners('log');

    // Logs "log persistently" twice
    newListeners[0]();
    emitter.emit('log');
    -

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    Returns CursorEvents[EventKey][]

    v9.4.0

    +

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    Returns CursorEvents[EventKey][]

    v9.4.0

  • Removes all listeners, or those of the specified eventName.

    It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    @@ -348,7 +348,7 @@

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    diff --git a/docs/Next/classes/AggregationCursor.html b/docs/Next/classes/AggregationCursor.html index e5baa976d92..cdb356f684d 100644 --- a/docs/Next/classes/AggregationCursor.html +++ b/docs/Next/classes/AggregationCursor.html @@ -77,7 +77,7 @@
pipeline: Document[]
signal: undefined | AbortSignal
captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

-
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

+
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

See how to write a custom rejection handler.

v13.4.0, v12.16.0

CLOSE: "close" = ...
defaultMaxListeners: number

By default, a maximum of 10 listeners can be registered for any single @@ -105,7 +105,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

v0.11.2

-
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

+
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

v13.6.0, v12.17.0

@@ -116,10 +116,10 @@

Returns undefined | Long

  • get killed(): boolean
  • A killCursors command was attempted on this cursor. This is performed if the cursor id is non zero.

    Returns boolean

Methods

  • Type Parameters

    • K

    Parameters

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

    Returns void

  • Add a cursor flag to the cursor

    -

    Parameters

    • flag:
          | "tailable"
          | "oplogReplay"
          | "noCursorTimeout"
          | "awaitData"
          | "exhaust"
          | "partial"

      The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

      +

      Parameters

      • flag:
            | "tailable"
            | "awaitData"
            | "noCursorTimeout"
            | "oplogReplay"
            | "exhaust"
            | "partial"

        The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

      • value: boolean

        The flag boolean value.

      Returns this

  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -161,19 +161,19 @@
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    -

    Type Parameters

    • EventKey extends "close"

    Parameters

    Returns number

    v3.2.0

    -
  • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.once('log', () => console.log('log once'));

    // Returns a new Array with a function `onceWrapper` which has a property
    // `listener` which contains the original listener bound above
    const listeners = emitter.rawListeners('log');
    const logFnWrapper = listeners[0];

    // Logs "log once" to the console and does not unbind the `once` event
    logFnWrapper.listener();

    // Logs "log once" to the console and removes the listener
    logFnWrapper();

    emitter.on('log', () => console.log('log persistently'));
    // Will return a new Array with a single function bound by `.on()` above
    const newListeners = emitter.rawListeners('log');

    // Logs "log persistently" twice
    newListeners[0]();
    emitter.emit('log');
    -

    Type Parameters

    • EventKey extends "close"

    Parameters

    Returns AbstractCursorEvents[EventKey][]

    v9.4.0

    +

    Type Parameters

    • EventKey extends "close"

    Parameters

    Returns AbstractCursorEvents[EventKey][]

    v9.4.0

  • Rewind this cursor to its uninitialized state. Any options that are present on the cursor will remain in effect. Iterating this cursor will cause new queries to be sent to the server, even if the resultant data has already been retrieved by this cursor.

    Returns void

Constructors

Properties

batchType: BatchType
currentIndex: number
operations: T[]
originalIndexes: number[]
originalZeroIndex: number
size: number
sizeBytes: number
diff --git a/docs/Next/classes/BulkOperationBase.html b/docs/Next/classes/BulkOperationBase.html index 4d3ac890011..83ff329b0d8 100644 --- a/docs/Next/classes/BulkOperationBase.html +++ b/docs/Next/classes/BulkOperationBase.html @@ -1,4 +1,4 @@ -BulkOperationBase | mongodb

Class BulkOperationBaseAbstract

Hierarchy (view full)

Properties

isOrdered +BulkOperationBase | mongodb

Class BulkOperationBaseAbstract

Hierarchy (view full)

Properties

Accessors

batches bsonOptions @@ -9,14 +9,14 @@ find insert raw -

Properties

isOrdered: boolean
operationId?: number

Accessors

Methods

  • Builds a find operation for an update/updateOne/delete/deleteOne/replaceOne. +

Properties

isOrdered: boolean
operationId?: number

Accessors

Methods

  • Builds a find operation for an update/updateOne/delete/deleteOne/replaceOne. Returns a builder object used to complete the definition of the operation.

    Parameters

    Returns FindOperators

    const bulkOp = collection.initializeOrderedBulkOp();

    // Add an updateOne to the bulkOp
    bulkOp.find({ a: 1 }).updateOne({ $set: { b: 2 } });

    // Add an updateMany to the bulkOp
    bulkOp.find({ c: 3 }).update({ $set: { d: 4 } });

    // Add an upsert
    bulkOp.find({ e: 5 }).upsert().updateOne({ $set: { f: 6 } });

    // Add a deletion
    bulkOp.find({ g: 7 }).deleteOne();

    // Add a multi deletion
    bulkOp.find({ h: 8 }).delete();

    // Add a replaceOne
    bulkOp.find({ i: 9 }).replaceOne({writeConcern: { j: 10 }});

    // Update using a pipeline (requires Mongodb 4.2 or higher)
    bulk.find({ k: 11, y: { $exists: true }, z: { $exists: true } }).updateOne([
    { $set: { total: { $sum: [ '$y', '$z' ] } } }
    ]);

    // All of the ops will now be executed
    await bulkOp.execute();
    -
  • Add a single insert document to the bulk operation

    Parameters

    Returns BulkOperationBase

    const bulkOp = collection.initializeOrderedBulkOp();

    // Adds three inserts to the bulkOp.
    bulkOp
    .insert({ a: 1 })
    .insert({ b: 2 })
    .insert({ c: 3 });
    await bulkOp.execute();
    -
+
diff --git a/docs/Next/classes/BulkWriteResult.html b/docs/Next/classes/BulkWriteResult.html index bdb78feb8ad..61ee40576c8 100644 --- a/docs/Next/classes/BulkWriteResult.html +++ b/docs/Next/classes/BulkWriteResult.html @@ -1,5 +1,5 @@ BulkWriteResult | mongodb

Class BulkWriteResult

The result of a bulk write.

-

Properties

Properties

deletedCount: number

Number of documents deleted.

-
insertedCount: number

Number of documents inserted.

-
insertedIds: {
    [key: number]: any;
}

Inserted document generated Id's, hash key is the index of the originating operation

-
matchedCount: number

Number of documents matched for update.

-
modifiedCount: number

Number of documents modified.

-
upsertedCount: number

Number of documents upserted.

-
upsertedIds: {
    [key: number]: any;
}

Upserted document generated Id's, hash key is the index of the originating operation

-

Accessors

  • get ok(): number
  • Evaluates to true if the bulk operation correctly executes

    -

    Returns number

Methods

  • Returns the number of write errors from the bulk operation

    -

    Returns number

  • Returns true if the bulk operation contains a write error

    -

    Returns boolean

+
insertedCount: number

Number of documents inserted.

+
insertedIds: {
    [key: number]: any;
}

Inserted document generated Id's, hash key is the index of the originating operation

+
matchedCount: number

Number of documents matched for update.

+
modifiedCount: number

Number of documents modified.

+
upsertedCount: number

Number of documents upserted.

+
upsertedIds: {
    [key: number]: any;
}

Upserted document generated Id's, hash key is the index of the originating operation

+

Accessors

  • get ok(): number
  • Evaluates to true if the bulk operation correctly executes

    +

    Returns number

Methods

  • Returns the number of write errors from the bulk operation

    +

    Returns number

  • Returns true if the bulk operation contains a write error

    +

    Returns boolean

diff --git a/docs/Next/classes/CancellationToken.html b/docs/Next/classes/CancellationToken.html index 4d5dfe77a8d..859734b1a50 100644 --- a/docs/Next/classes/CancellationToken.html +++ b/docs/Next/classes/CancellationToken.html @@ -30,7 +30,7 @@

Constructors

Properties

captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

-
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

+
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

See how to write a custom rejection handler.

v13.4.0, v12.16.0

defaultMaxListeners: number

By default, a maximum of 10 listeners can be registered for any single @@ -58,12 +58,12 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

v0.11.2

-
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

+
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

v13.6.0, v12.17.0

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 "cancel"

    Parameters

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns this

    v0.1.26

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

    Parameters

    Returns this

    v0.1.26

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

    @@ -74,7 +74,7 @@
    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
    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    • event: symbol | EventKey
    • Rest...args: Parameters<{
          cancel(): void;
      }[EventKey]>

    Returns boolean

    v0.1.26

    +

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    • event: symbol | EventKey
    • Rest...args: Parameters<{
          cancel(): void;
      }[EventKey]>

    Returns boolean

    v0.1.26

  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -82,19 +82,19 @@

    Returns string[]

    v6.0.0

  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns number

    v3.2.0

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

    server.on('connection', (stream) => {
    console.log('someone connected!');
    });
    console.log(util.inspect(server.listeners('connection')));
    // Prints: [ [Function] ]
    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns {
        cancel(): void;
    }[EventKey][]

    v0.1.26

    +

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns {
        cancel(): void;
    }[EventKey][]

    v0.1.26

  • Alias for emitter.removeListener().

    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns this

    v10.0.0

    +

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns this

    v10.0.0

  • Alias for emitter.removeListener().

    Parameters

    Returns this

    v10.0.0

  • Alias for emitter.removeListener().

    @@ -112,7 +112,7 @@
    import { EventEmitter } from 'node:events';
    const myEE = new EventEmitter();
    myEE.on('foo', () => console.log('a'));
    myEE.prependListener('foo', () => console.log('b'));
    myEE.emit('foo');
    // Prints:
    // b
    // a
    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    • event: EventKey
    • listener: {
          cancel(): void;
      }[EventKey]

      The callback function

      +

      Type Parameters

      • EventKey extends "cancel"

      Parameters

      • event: EventKey
      • listener: {
            cancel(): void;
        }[EventKey]

        The callback function

      Returns this

      v0.1.101

    • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -155,7 +155,7 @@

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Type Parameters

      • EventKey extends "cancel"

      Parameters

      • event: EventKey
      • listener: {
            cancel(): void;
        }[EventKey]

        The callback function

        +

        Type Parameters

        • EventKey extends "cancel"

        Parameters

        • event: EventKey
        • listener: {
              cancel(): void;
          }[EventKey]

          The callback function

        Returns this

        v0.3.0

      • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

        @@ -191,7 +191,7 @@

        Returns a reference to the EventEmitter, so that calls can be chained.

        -

        Type Parameters

        • EventKey extends "cancel"

        Parameters

        • event: EventKey
        • listener: {
              cancel(): void;
          }[EventKey]

          The callback function

          +

          Type Parameters

          • EventKey extends "cancel"

          Parameters

          • event: EventKey
          • listener: {
                cancel(): void;
            }[EventKey]

            The callback function

          Returns this

          v6.0.0

        • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has @@ -219,7 +219,7 @@

          Returns a reference to the EventEmitter, so that calls can be chained.

          -

          Type Parameters

          • EventKey extends "cancel"

          Parameters

          • event: EventKey
          • listener: {
                cancel(): void;
            }[EventKey]

            The callback function

            +

            Type Parameters

            • EventKey extends "cancel"

            Parameters

            • event: EventKey
            • listener: {
                  cancel(): void;
              }[EventKey]

              The callback function

            Returns this

            v6.0.0

          • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

            @@ -237,18 +237,18 @@

            Returns a reference to the EventEmitter, so that calls can be chained.

            Parameters

            Returns this

            v6.0.0

            -
  • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.once('log', () => console.log('log once'));

    // Returns a new Array with a function `onceWrapper` which has a property
    // `listener` which contains the original listener bound above
    const listeners = emitter.rawListeners('log');
    const logFnWrapper = listeners[0];

    // Logs "log once" to the console and does not unbind the `once` event
    logFnWrapper.listener();

    // Logs "log once" to the console and removes the listener
    logFnWrapper();

    emitter.on('log', () => console.log('log persistently'));
    // Will return a new Array with a single function bound by `.on()` above
    const newListeners = emitter.rawListeners('log');

    // Logs "log persistently" twice
    newListeners[0]();
    emitter.emit('log');
    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns {
        cancel(): void;
    }[EventKey][]

    v9.4.0

    +

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns {
        cancel(): void;
    }[EventKey][]

    v9.4.0

  • Removes all listeners, or those of the specified eventName.

    It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    @@ -275,7 +275,7 @@

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    diff --git a/docs/Next/classes/ChangeStream.html b/docs/Next/classes/ChangeStream.html index 18341dee9dd..0fa343d0f9c 100644 --- a/docs/Next/classes/ChangeStream.html +++ b/docs/Next/classes/ChangeStream.html @@ -58,7 +58,7 @@
pipeline: Document[]
streamOptions?: CursorStreamOptions
type: symbol
captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

-
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

+
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

See how to write a custom rejection handler.

v13.4.0, v12.16.0

CHANGE: "change" = CHANGE

Fired for each new matching change in the specified namespace. Attaching a change @@ -89,7 +89,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

v0.11.2

-
END: "end" = END
ERROR: "error" = ERROR
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

+
END: "end" = END
ERROR: "error" = ERROR
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

v13.6.0, v12.17.0

@@ -97,7 +97,7 @@

Accessors

  • get resumeToken(): unknown
  • The cached resume token that is used to resume after the most recently returned change.

    Returns unknown

Methods

  • Type Parameters

    • K

    Parameters

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

    Returns void

  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -117,21 +117,21 @@

    Returns string[]

    v6.0.0

  • Check if there is any document still available in the Change Stream

    Returns Promise<boolean>

  • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.once('log', () => console.log('log once'));

    // Returns a new Array with a function `onceWrapper` which has a property
    // `listener` which contains the original listener bound above
    const listeners = emitter.rawListeners('log');
    const logFnWrapper = listeners[0];

    // Logs "log once" to the console and does not unbind the `once` event
    logFnWrapper.listener();

    // Logs "log once" to the console and removes the listener
    logFnWrapper();

    emitter.on('log', () => console.log('log persistently'));
    // Will return a new Array with a single function bound by `.on()` above
    const newListeners = emitter.rawListeners('log');

    // Logs "log persistently" twice
    newListeners[0]();
    emitter.emit('log');
    -

    Type Parameters

    Parameters

    Returns ChangeStreamEvents<TSchema, TChange>[EventKey][]

    v9.4.0

    +

    Type Parameters

    Parameters

    Returns ChangeStreamEvents<TSchema, TChange>[EventKey][]

    v9.4.0

  • Removes all listeners, or those of the specified eventName.

    It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Type Parameters

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

    +

    Type Parameters

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    @@ -312,7 +312,7 @@

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Type Parameters

    Parameters

    Returns this

    v0.1.26

    +

    Type Parameters

    Parameters

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    diff --git a/docs/Next/classes/ClientSession.html b/docs/Next/classes/ClientSession.html index 556ddca4046..78bb3e35fb0 100644 --- a/docs/Next/classes/ClientSession.html +++ b/docs/Next/classes/ClientSession.html @@ -61,7 +61,7 @@
captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

-
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

+
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

See how to write a custom rejection handler.

v13.4.0, v12.16.0

defaultMaxListeners: number

By default, a maximum of 10 listeners can be registered for any single @@ -89,7 +89,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

v0.11.2

-
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

+
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

v13.6.0, v12.17.0

@@ -97,7 +97,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).

    -

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns this

    v0.1.26

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

    Parameters

    Returns this

    v0.1.26

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

    @@ -114,7 +114,7 @@
    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
    -

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns boolean

    v0.1.26

    +

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns boolean

    v0.1.26

  • Frees any client-side resources held by the current session. If a session is in a transaction, the transaction is aborted.

    Does not end the session on the server.

    @@ -128,21 +128,21 @@

    Returns string[]

    v6.0.0

  • Increment the transaction number on the internal ServerSession

    Returns void

  • Returns boolean

    whether this session is currently in a transaction or not

  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    -

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns number

    v3.2.0

    -
  • Alias for emitter.removeListener().

    -

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns this

    v10.0.0

    +

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns this

    v10.0.0

  • Alias for emitter.removeListener().

    Parameters

    Returns this

    v10.0.0

  • Alias for emitter.removeListener().

    @@ -160,7 +160,7 @@
    import { EventEmitter } from 'node:events';
    const myEE = new EventEmitter();
    myEE.on('foo', () => console.log('a'));
    myEE.prependListener('foo', () => console.log('b'));
    myEE.emit('foo');
    // Prints:
    // b
    // a
    -

    Type Parameters

    • EventKey extends "ended"

    Parameters

    • event: EventKey
    • listener: ClientSessionEvents[EventKey]

      The callback function

      +

      Type Parameters

      • EventKey extends "ended"

      Parameters

      Returns this

      v0.1.101

    • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -203,7 +203,7 @@

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Type Parameters

      • EventKey extends "ended"

      Parameters

  • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.once('log', () => console.log('log once'));

    // Returns a new Array with a function `onceWrapper` which has a property
    // `listener` which contains the original listener bound above
    const listeners = emitter.rawListeners('log');
    const logFnWrapper = listeners[0];

    // Logs "log once" to the console and does not unbind the `once` event
    logFnWrapper.listener();

    // Logs "log once" to the console and removes the listener
    logFnWrapper();

    emitter.on('log', () => console.log('log persistently'));
    // Will return a new Array with a single function bound by `.on()` above
    const newListeners = emitter.rawListeners('log');

    // Logs "log persistently" twice
    newListeners[0]();
    emitter.emit('log');
    -

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns ClientSessionEvents[EventKey][]

    v9.4.0

    +

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns ClientSessionEvents[EventKey][]

    v9.4.0

  • Removes all listeners, or those of the specified eventName.

    It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Type Parameters

    • EventKey extends "ended"

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends "ended"

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    @@ -323,7 +323,7 @@

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    diff --git a/docs/Next/classes/Collection.html b/docs/Next/classes/Collection.html index 92831164bc5..0b332e954ad 100644 --- a/docs/Next/classes/Collection.html +++ b/docs/Next/classes/Collection.html @@ -4,7 +4,7 @@
    import { MongoClient } from 'mongodb';

    interface Pet {
    name: string;
    kind: 'dog' | 'cat' | 'fish';
    }

    const client = new MongoClient('mongodb://localhost:27017');
    const pets = client.db().collection<Pet>('pets');

    const petCursor = pets.find();

    for await (const pet of petCursor) {
    console.log(`${pet.name} is a ${pet.kind}!`);
    }
    -

Type Parameters

Accessors

Type Parameters

Accessors

  • get dbName(): string
  • The name of the database this collection belongs to

    -

    Returns string

  • get namespace(): string
  • The namespace of this collection, in the format ${this.dbName}.${this.collectionName}

    -

    Returns string

  • get readConcern(): undefined | ReadConcern
  • The current readConcern of the collection. If not explicitly defined for +

Accessors

  • get dbName(): string
  • The name of the database this collection belongs to

    +

    Returns string

  • get namespace(): string
  • The namespace of this collection, in the format ${this.dbName}.${this.collectionName}

    +

    Returns string

  • get readConcern(): undefined | ReadConcern
  • The current readConcern of the collection. If not explicitly defined for this collection, will be inherited from the parent DB

    -

    Returns undefined | ReadConcern

  • get readPreference(): undefined | ReadPreference
  • The current readPreference of the collection. If not explicitly defined for this collection, will be inherited from the parent DB

    -

    Returns undefined | ReadPreference

  • get writeConcern(): undefined | WriteConcern
  • The current writeConcern of the collection. If not explicitly defined for this collection, will be inherited from the parent DB

    -

    Returns undefined | WriteConcern

Methods

Methods

  • Perform a bulkWrite operation without a fluent API

    +

Returns AggregationCursor<T>

  • An estimated count of matching documents in the db to a filter.

    +
  • An estimated count of matching documents in the db to a filter.

    NOTE: This method has been deprecated, since it does not provide an accurate count of the documents in a collection. To obtain an accurate count of documents in the collection, use Collection#countDocuments| countDocuments. To obtain an estimated count of all documents in the collection, use Collection#estimatedDocumentCount| estimatedDocumentCount.

    Parameters

    Returns Promise<number>

    use Collection#countDocuments| countDocuments or Collection#estimatedDocumentCount| estimatedDocumentCount instead

    -
  • Gets the number of documents matching the filter. +

-
  • Creates an index on the db and collection collection.

    +
  • Creates an index on the db and collection collection.

    Parameters

    Returns Promise<string>

    const collection = client.db('foo').collection('bar');

    await collection.createIndex({ a: 1, b: -1 });

    // Alternate syntax for { c: 1, d: -1 } that ensures order of indexes
    await collection.createIndex([ [c, 1], [d, -1] ]);

    // Equivalent to { e: 1 }
    await collection.createIndex('e');

    // Equivalent to { f: 1, g: 1 }
    await collection.createIndex(['f', 'g'])

    // Equivalent to { h: 1, i: -1 }
    await collection.createIndex([ { h: 1 }, { i: -1 } ]);

    // Equivalent to { j: 1, k: -1, l: 2d }
    await collection.createIndex(['j', ['k', -1], { l: '2d' }])
    -
  • Creates multiple indexes in the collection, this method is only supported for +

  • Creates multiple indexes in the collection, this method is only supported for MongoDB 2.6 or higher. Earlier version of MongoDB will throw a command not supported error.

    Note: Unlike Collection#createIndex| createIndex, this function takes in raw index specifications. @@ -138,33 +138,33 @@

Returns Promise<string[]>

const collection = client.db('foo').collection('bar');
await collection.createIndexes([
// Simple index on field fizz
{
key: { fizz: 1 },
}
// wildcard index
{
key: { '$**': 1 }
},
// named index on darmok and jalad
{
key: { darmok: 1, jalad: -1 }
name: 'tanagra'
}
]);
-
  • Creates a single search index for the collection.

    +
  • Creates a single search index for the collection.

    Parameters

    Returns Promise<string>

    A promise that resolves to the name of the new search index.

    Only available when used against a 7.0+ Atlas cluster.

    -
  • Creates multiple search indexes for the current collection.

    +
  • Creates multiple search indexes for the current collection.

    Parameters

    Returns Promise<string[]>

    A promise that resolves to an array of the newly created search index names.

    Only available when used against a 7.0+ Atlas cluster.

    -
  • Delete a document from a collection

    +

Returns Promise<DeleteResult>

  • The distinct command returns a list of distinct values for the given key across a collection.

    +

Returns Promise<DeleteResult>

  • Drop the collection from the database, removing it permanently. New accesses will create a new collection.

    +

Returns Promise<Flatten<WithId<TSchema>[Key]>[]>

  • Type Parameters

    • Key extends string | number | symbol

    Parameters

    Returns Promise<Flatten<WithId<TSchema>[Key]>[]>

  • Type Parameters

    • Key extends string | number | symbol

    Parameters

    Returns Promise<Flatten<WithId<TSchema>[Key]>[]>

  • Parameters

    • key: string

    Returns Promise<any[]>

  • Parameters

    Returns Promise<any[]>

  • Parameters

    Returns Promise<any[]>

    • Drop the collection from the database, removing it permanently. New accesses will create a new collection.

      Parameters

      Returns Promise<boolean>

    • Drops an index from this collection.

      +

    Returns Promise<boolean>

    • Drops all indexes from this collection.

      +

    Returns Promise<Document>

    • Drops all indexes from this collection.

      Parameters

      Returns Promise<boolean>

    • Deletes a search index by index name.

      +

    Returns Promise<boolean>

    • Deletes a search index by index name.

      Parameters

      • name: string

        The name of the search index to be deleted.

      Returns Promise<void>

      Only available when used against a 7.0+ Atlas cluster.

      -
    • Gets an estimate of the count of documents in a collection using collection metadata. +

    • Gets an estimate of the count of documents in a collection using collection metadata. This will always run a count command on all server versions.

      due to an oversight in versions 5.0.0-5.0.8 of MongoDB, the count command, which estimatedDocumentCount uses in its implementation, was not included in v1 of @@ -173,16 +173,16 @@ encountering errors.

      Parameters

      Returns Promise<number>

    • Find a document and delete it in one atomic operation. Requires a write lock for the duration of the operation.

      +
    • Find a document and replace it in one atomic operation. Requires a write lock for the duration of the operation.

      +

    Returns Promise<ModifyResult<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

    • Find a document and update it in one atomic operation. Requires a write lock for the duration of the operation.

      +

    Returns Promise<ModifyResult<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

  • Returns Promise<ModifyResult<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

    • Checks if one or more indexes exist on the collection, fails on first non-existing index

      +

    Returns Promise<IndexDescriptionInfo[]>

  • Parameters

    Returns Promise<IndexDescriptionCompact>

  • Parameters

    Returns Promise<IndexDescriptionCompact | IndexDescriptionInfo[]>

  • Parameters

    Returns Promise<IndexDescriptionInfo[]>

    • Checks if one or more indexes exist on the collection, fails on first non-existing index

      Parameters

      • indexes: string | string[]

        One or more index names to check.

      • Optionaloptions: ListIndexesOptions

        Optional settings for the command

        -

      Returns Promise<boolean>

    Returns Promise<boolean>

    • Initiate an In order bulk write operation. Operations will be serially executed in the order they are added, creating a new operation for each switch in types.

      +

    Returns Promise<IndexDescriptionInfo[]>

  • Parameters

    Returns Promise<IndexDescriptionCompact>

  • Parameters

    Returns Promise<IndexDescriptionCompact | IndexDescriptionInfo[]>

  • Returns Promise<IndexDescriptionCompact>

    • Initiate an In order bulk write operation. Operations will be serially executed in the order they are added, creating a new operation for each switch in types.

      Parameters

      Returns OrderedBulkOperation

      MongoNotConnectedError

      NOTE: MongoClient must be connected prior to calling this method due to a known limitation in this legacy implementation. However, collection.bulkWrite() provides an equivalent API that does not require prior connecting.

      -
    • Initiate an Out of order batch write operation. All operations will be buffered into insert/update/remove commands executed out of order.

      +
    • Initiate an Out of order batch write operation. All operations will be buffered into insert/update/remove commands executed out of order.

      Parameters

      Returns UnorderedBulkOperation

      MongoNotConnectedError

      NOTE: MongoClient must be connected prior to calling this method due to a known limitation in this legacy implementation. However, collection.bulkWrite() provides an equivalent API that does not require prior connecting.

      -
    • Inserts a single document into MongoDB. If documents passed in do not contain the _id field, +

    Returns Promise<InsertManyResult<TSchema>>

    • Returns if the collection is a capped collection

      +

    Returns Promise<InsertOneResult<TSchema>>

    • Returns if the collection is a capped collection

      Parameters

      Returns Promise<boolean>

    • Get the list of all indexes information for the collection.

      +

    Returns Promise<boolean>

    Returns ListIndexesCursor

    Returns Promise<Document>

    • Update multiple documents in a collection

      +

    Returns Promise<UpdateResult<TSchema>>

    • Update a single document in a collection

      +

    Returns Promise<UpdateResult<TSchema>>

    • Updates a search index by replacing the existing index definition with the provided definition.

      +

    Returns Promise<UpdateResult<TSchema>>

    • Updates a search index by replacing the existing index definition with the provided definition.

      Parameters

      • name: string

        The name of the search index to update.

      • definition: Document

        The new search index definition.

      Returns Promise<void>

      Only available when used against a 7.0+ Atlas cluster.

      -
    +
    diff --git a/docs/Next/classes/Db.html b/docs/Next/classes/Db.html index 82de9b44ad1..c8625c0a817 100644 --- a/docs/Next/classes/Db.html +++ b/docs/Next/classes/Db.html @@ -2,7 +2,7 @@
    import { MongoClient } from 'mongodb';

    interface Pet {
    name: string;
    kind: 'dog' | 'cat' | 'fish';
    }

    const client = new MongoClient('mongodb://localhost:27017');
    const db = client.db();

    // Create a collection that validates our union
    await db.createCollection<Pet>('pets', {
    validator: { $expr: { $in: ['$kind', ['dog', 'cat', 'fish']] } }
    })
    -

    Constructors

    Constructors

    Properties

    Parameters

    • client: MongoClient

      The MongoClient for the database.

    • databaseName: string

      The name of the database this instance represents.

    • Optionaloptions: DbOptions

      Optional settings for Db construction.

      -

    Returns Db

    Properties

    SYSTEM_COMMAND_COLLECTION: string = CONSTANTS.SYSTEM_COMMAND_COLLECTION
    SYSTEM_INDEX_COLLECTION: string = CONSTANTS.SYSTEM_INDEX_COLLECTION
    SYSTEM_JS_COLLECTION: string = CONSTANTS.SYSTEM_JS_COLLECTION
    SYSTEM_NAMESPACE_COLLECTION: string = CONSTANTS.SYSTEM_NAMESPACE_COLLECTION
    SYSTEM_PROFILE_COLLECTION: string = CONSTANTS.SYSTEM_PROFILE_COLLECTION
    SYSTEM_USER_COLLECTION: string = CONSTANTS.SYSTEM_USER_COLLECTION

    Accessors

    • get readPreference(): ReadPreference
    • The current readPreference of the Db. If not explicitly defined for +

    Returns Db

    Properties

    SYSTEM_COMMAND_COLLECTION: string = CONSTANTS.SYSTEM_COMMAND_COLLECTION
    SYSTEM_INDEX_COLLECTION: string = CONSTANTS.SYSTEM_INDEX_COLLECTION
    SYSTEM_JS_COLLECTION: string = CONSTANTS.SYSTEM_JS_COLLECTION
    SYSTEM_NAMESPACE_COLLECTION: string = CONSTANTS.SYSTEM_NAMESPACE_COLLECTION
    SYSTEM_PROFILE_COLLECTION: string = CONSTANTS.SYSTEM_PROFILE_COLLECTION
    SYSTEM_USER_COLLECTION: string = CONSTANTS.SYSTEM_USER_COLLECTION

    Accessors

    • get readPreference(): ReadPreference
    • The current readPreference of the Db. If not explicitly defined for this Db, will be inherited from the parent MongoClient

      -

      Returns ReadPreference

    • get secondaryOk(): boolean
    • Check if a secondary can be used (because the read preference is not set to primary)

      -

      Returns boolean

    • get timeoutMS(): undefined | number
    • Returns undefined | number

    Methods

    • get secondaryOk(): boolean
    • Check if a secondary can be used (because the read preference is not set to primary)

      +

      Returns boolean

    • get timeoutMS(): undefined | number
    • Returns undefined | number

    Methods

    • Returns a reference to a MongoDB Collection. If it does not exist it will be created implicitly.

      +

    Returns AggregationCursor<T>

    • Returns a reference to a MongoDB Collection. If it does not exist it will be created implicitly.

      Collection namespace validation is performed server-side.

      Type Parameters

      Parameters

      Returns Collection<TSchema>

      return the new Collection instance

      -
    • Execute a command

      +

    Returns Promise<Collection<Document>[]>

    • Execute a command

      Parameters

      Returns Promise<Document>

      This command does not inherit options from the MongoClient.

      @@ -76,37 +76,37 @@
    • writeConcern - sourced from writeConcern set on the TransactionOptions

    Attaching any of the above fields to the command will have no effect as the driver will overwrite the value.

    -
    • Create a new collection on a server with the specified options. Use this to create capped collections. +

    • Creates an index on the db and collection.

      +

    Returns Promise<Collection<TSchema>>

    • Creates an index on the db and collection.

      Parameters

      • name: string

        Name of the collection to create the index on.

      • indexSpec: IndexSpecification

        Specify the field to index, or an index specification

      • Optionaloptions: CreateIndexesOptions

        Optional settings for the command

        -

      Returns Promise<string>

    • Drop a collection from the database, removing it permanently. New accesses will create a new collection.

      +

    Returns Promise<string>

    • Drop a collection from the database, removing it permanently. New accesses will create a new collection.

      Parameters

      • name: string

        Name of collection to drop

      • Optionaloptions: DropCollectionOptions

        Optional settings for the command

        -

      Returns Promise<boolean>

    • Drop a database, removing it permanently from the server.

      +

    Returns Promise<boolean>

    • Drop a database, removing it permanently from the server.

      Parameters

      Returns Promise<boolean>

    • Retrieves this collections index info.

      +

    Returns Promise<boolean>

    Returns Promise<IndexDescriptionInfo[]>

  • Parameters

    Returns Promise<IndexDescriptionCompact>

  • Parameters

    Returns Promise<IndexDescriptionCompact | IndexDescriptionInfo[]>

  • Parameters

    • name: string

    Returns Promise<IndexDescriptionCompact>

    • Retrieve the current profiling Level for MongoDB

      +

    Returns ListCollectionsCursor<Pick<CollectionInfo, "name" | "type">>

  • Parameters

    Returns ListCollectionsCursor<CollectionInfo>

  • Type Parameters

    Parameters

    Returns ListCollectionsCursor<T>

    • Retrieve the current profiling Level for MongoDB

      Parameters

      Returns Promise<string>

    • Remove a user from a database

      +

    Returns Promise<string>

    • Remove a user from a database

      Parameters

      Returns Promise<boolean>

    Returns Promise<boolean>

    • Rename a collection.

      Type Parameters

      Parameters

      • fromCollection: string

        Name of current collection to rename

      • toCollection: string

        New name of of the collection

      • Optionaloptions: RenameOptions

        Optional settings for the command

      Returns Promise<Collection<TSchema>>

      This operation does not inherit options from the MongoClient.

      -
    • A low level cursor API providing basic driver functionality:

      • ClientSession management
      • ReadPreference for server selection
      • @@ -114,12 +114,12 @@

      Parameters

      • command: Document

        The command that will start a cursor on the server.

      • Optionaloptions: RunCursorCommandOptions

        Configurations for running the command, bson options will apply to getMores

        -

      Returns RunCommandCursor

    • Set the current profiling level of MongoDB

      +

    Returns RunCommandCursor

    • Get all the db statistics.

      +

    Returns Promise<ProfilingLevel>

    Returns Promise<Document>

    +
    diff --git a/docs/Next/classes/ExplainableCursor.html b/docs/Next/classes/ExplainableCursor.html index bd61d68f84d..509d09341e8 100644 --- a/docs/Next/classes/ExplainableCursor.html +++ b/docs/Next/classes/ExplainableCursor.html @@ -1,5 +1,5 @@ ExplainableCursor | mongodb

    Class ExplainableCursor<TSchema>Abstract

    A base class for any cursors that have explain() methods.

    -

    Type Parameters

    • TSchema

    Hierarchy (view full)

    Properties

    Type Parameters

    • TSchema

    Hierarchy (view full)

    Properties

    signal: undefined | AbortSignal
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    CLOSE: "close" = ...
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -89,7 +89,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -100,10 +100,10 @@

    Returns undefined | Long

    • get killed(): boolean
    • A killCursors command was attempted on this cursor. This is performed if the cursor id is non zero.

      Returns boolean

    Methods

    • Type Parameters

      • K

      Parameters

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

      Returns void

    • Add a cursor flag to the cursor

      -

      Parameters

      • flag:
            | "tailable"
            | "oplogReplay"
            | "noCursorTimeout"
            | "awaitData"
            | "exhaust"
            | "partial"

        The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

        +

        Parameters

        • flag:
              | "tailable"
              | "awaitData"
              | "noCursorTimeout"
              | "oplogReplay"
              | "exhaust"
              | "partial"

          The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

        • value: boolean

          The flag boolean value.

        Returns this

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

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

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

      Parameters

      Returns this

      v0.1.26

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

      @@ -119,7 +119,7 @@
      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
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -127,29 +127,29 @@

      Returns string[]

      v6.0.0

    • Iterates over all the documents for this cursor using the iterator, callback pattern.

      If the iterator returns false, iteration will stop.

      Parameters

      • iterator: ((doc: TSchema) => boolean | void)

        The iteration callback.

          • (doc): boolean | void
          • Parameters

            Returns boolean | void

      Returns Promise<void>

      • Will be removed in a future release. Use for await...of instead.
    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns number

      v3.2.0

      -
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    • Rewind this cursor to its uninitialized state. Any options that are present on the cursor will remain in effect. Iterating this cursor will cause new queries to be sent to the server, even if the resultant data has already been retrieved by this cursor.

      Returns void

    • By default EventEmitters will print a warning if more than 10 listeners are diff --git a/docs/Next/classes/FindCursor.html b/docs/Next/classes/FindCursor.html index 5771d7af3b2..ec3bdfcc887 100644 --- a/docs/Next/classes/FindCursor.html +++ b/docs/Next/classes/FindCursor.html @@ -76,7 +76,7 @@

    signal: undefined | AbortSignal
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    CLOSE: "close" = ...
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -104,7 +104,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -115,10 +115,10 @@

    Returns undefined | Long

    • get killed(): boolean
    • A killCursors command was attempted on this cursor. This is performed if the cursor id is non zero.

      Returns boolean

    Methods

    • Type Parameters

      • K

      Parameters

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

      Returns void

    • Add a cursor flag to the cursor

      -

      Parameters

      • flag:
            | "tailable"
            | "oplogReplay"
            | "noCursorTimeout"
            | "awaitData"
            | "exhaust"
            | "partial"

        The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

        +

        Parameters

        • flag:
              | "tailable"
              | "awaitData"
              | "noCursorTimeout"
              | "oplogReplay"
              | "exhaust"
              | "partial"

          The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

        • value: boolean

          The flag boolean value.

        Returns this

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

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

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

      Parameters

      Returns this

      v0.1.26

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

      @@ -145,7 +145,7 @@
      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
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -164,7 +164,7 @@
    • Will be removed in a future release. Use for await...of instead.
    • Set the cursor hint

      Parameters

      • hint: Hint

        If specified, then the query system will only consider plans using the hinted index.

        @@ -173,12 +173,12 @@

      Returns this

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns number

      v3.2.0

      -
    • Map all documents using the provided function If there is a transform set on the cursor, that will be called first and the result passed to this function's transform.

      @@ -210,7 +210,7 @@

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    Properties

    bulkOperation: BulkOperationBase

    Methods

    • Specifies arrayFilters for UpdateOne or UpdateMany bulk operations.

      +

      Parameters

      Returns this

    • Upsert modifier for update bulk operation, noting that this operation is an upsert.

      +

      Returns this

    diff --git a/docs/Next/classes/GridFSBucket.html b/docs/Next/classes/GridFSBucket.html index 02a74af7cf8..8651aaaefd1 100644 --- a/docs/Next/classes/GridFSBucket.html +++ b/docs/Next/classes/GridFSBucket.html @@ -39,7 +39,7 @@

    Constructors

    Properties

    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -67,7 +67,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -77,7 +77,7 @@ no index creation is necessary, 2) when it successfully creates the necessary indexes.

    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 "index"

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns this

      v0.1.26

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

      Parameters

      Returns this

      v0.1.26

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

      @@ -91,7 +91,7 @@
      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
      -

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns boolean

      v0.1.26

      +

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns boolean

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -100,19 +100,19 @@

      Returns string[]

      v6.0.0

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns number

      v3.2.0

      -
    • Alias for emitter.removeListener().

      -

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns this

      v10.0.0

      +

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns this

      v10.0.0

    • Alias for emitter.removeListener().

      Parameters

      Returns this

      v10.0.0

    • Alias for emitter.removeListener().

      @@ -130,7 +130,7 @@
      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Type Parameters

      • EventKey extends "index"

      Parameters

      • event: EventKey
      • listener: GridFSBucketEvents[EventKey]

        The callback function

        +

        Type Parameters

        • EventKey extends "index"

        Parameters

        Returns this

        v0.1.101

      • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -173,7 +173,7 @@

        import { EventEmitter } from 'node:events';
        const myEE = new EventEmitter();
        myEE.once('foo', () => console.log('a'));
        myEE.prependOnceListener('foo', () => console.log('b'));
        myEE.emit('foo');
        // Prints:
        // b
        // a
        -

        Type Parameters

        • EventKey extends "index"

        Parameters

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns GridFSBucketEvents[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns GridFSBucketEvents[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends "index"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "index"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);
      @@ -307,7 +307,7 @@

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns this

      v0.1.26

    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);
      diff --git a/docs/Next/classes/GridFSBucketReadStream.html b/docs/Next/classes/GridFSBucketReadStream.html index b585d740213..e3442cc58a2 100644 --- a/docs/Next/classes/GridFSBucketReadStream.html +++ b/docs/Next/classes/GridFSBucketReadStream.html @@ -107,7 +107,7 @@
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -135,7 +135,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -291,7 +291,7 @@
      • (data, options?): void | Promise<void>
      • Parameters

        • data: any
        • Optionaloptions: Pick<ArrayOptions, "signal">

        Returns void | Promise<void>

  • Optionaloptions: ArrayOptions
  • Returns Promise<void>

    a promise for when the stream has finished.

    v17.5.0

    • Returns the current max listener value for the EventEmitter which is either -set by emitter.setMaxListeners(n) or defaults to EventEmitter.defaultMaxListeners.

      +set by emitter.setMaxListeners(n) or defaults to EventEmitter.defaultMaxListeners.

      Returns number

      v1.0.0

    • The readable.isPaused() method returns the current operating state of the Readable. This is used primarily by the mechanism that underlies the readable.pipe() method. diff --git a/docs/Next/classes/GridFSBucketWriteStream.html b/docs/Next/classes/GridFSBucketWriteStream.html index 6a642f475d1..763c20e6ea4 100644 --- a/docs/Next/classes/GridFSBucketWriteStream.html +++ b/docs/Next/classes/GridFSBucketWriteStream.html @@ -119,7 +119,7 @@

    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -147,7 +147,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -262,7 +262,7 @@

    Returns (string | symbol)[]

    v6.0.0

    • Returns the current max listener value for the EventEmitter which is either -set by emitter.setMaxListeners(n) or defaults to EventEmitter.defaultMaxListeners.

      +set by emitter.setMaxListeners(n) or defaults to EventEmitter.defaultMaxListeners.

      Returns number

      v1.0.0

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found diff --git a/docs/Next/classes/ListCollectionsCursor.html b/docs/Next/classes/ListCollectionsCursor.html index 2495a461543..46f03b64b11 100644 --- a/docs/Next/classes/ListCollectionsCursor.html +++ b/docs/Next/classes/ListCollectionsCursor.html @@ -62,7 +62,7 @@

    filter: Document
    parent: Db
    signal: undefined | AbortSignal
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    CLOSE: "close" = ...
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -90,7 +90,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -101,10 +101,10 @@

    Returns undefined | Long

    • get killed(): boolean
    • A killCursors command was attempted on this cursor. This is performed if the cursor id is non zero.

      Returns boolean

    Methods

    • Type Parameters

      • K

      Parameters

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

      Returns void

    • Add a cursor flag to the cursor

      -

      Parameters

      • flag:
            | "tailable"
            | "oplogReplay"
            | "noCursorTimeout"
            | "awaitData"
            | "exhaust"
            | "partial"

        The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

        +

        Parameters

        • flag:
              | "tailable"
              | "awaitData"
              | "noCursorTimeout"
              | "oplogReplay"
              | "exhaust"
              | "partial"

          The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

        • value: boolean

          The flag boolean value.

        Returns this

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

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

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

      Parameters

      Returns this

      v0.1.26

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

      @@ -120,7 +120,7 @@
      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
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -134,22 +134,22 @@
    • Will be removed in a future release. Use for await...of instead.
    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns number

      v3.2.0

      -
    • Map all documents using the provided function If there is a transform set on the cursor, that will be called first and the result passed to this function's transform.

      -

      Type Parameters

      • T = any

      Parameters

      • transform: ((doc: T) => T)

        The mapping transformation method.

        -
          • (doc): T
          • Parameters

            • doc: T

            Returns T

      Returns AbstractCursor<T, AbstractCursorEvents>

      Note Cursors use null internally to indicate that there are no more documents in the cursor. Providing a mapping +

      Type Parameters

      • T = any

      Parameters

      • transform: ((doc: T) => T)

        The mapping transformation method.

        +
          • (doc): T
          • Parameters

            • doc: T

            Returns T

      Returns AbstractCursor<T, AbstractCursorEvents>

      Note Cursors use null internally to indicate that there are no more documents in the cursor. Providing a mapping function that maps values to null will result in the cursor closing itself before it has finished iterating all documents. This will not result in a memory leak, just surprising behavior. For example:

      const cursor = collection.find({});
      cursor.map(() => null);

      const documents = await cursor.toArray();
      // documents is always [], regardless of how many documents are in the collection. @@ -170,7 +170,7 @@
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    signal: undefined | AbortSignal
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    CLOSE: "close" = ...
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -89,7 +89,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -100,10 +100,10 @@

    Returns undefined | Long

    • get killed(): boolean
    • A killCursors command was attempted on this cursor. This is performed if the cursor id is non zero.

      Returns boolean

    Methods

    • Type Parameters

      • K

      Parameters

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

      Returns void

    • Add a cursor flag to the cursor

      -

      Parameters

      • flag:
            | "tailable"
            | "oplogReplay"
            | "noCursorTimeout"
            | "awaitData"
            | "exhaust"
            | "partial"

        The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

        +

        Parameters

        • flag:
              | "tailable"
              | "awaitData"
              | "noCursorTimeout"
              | "oplogReplay"
              | "exhaust"
              | "partial"

          The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

        • value: boolean

          The flag boolean value.

        Returns this

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

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

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

      Parameters

      Returns this

      v0.1.26

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

      @@ -119,7 +119,7 @@
      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
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -133,22 +133,22 @@
    • Will be removed in a future release. Use for await...of instead.
    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns number

      v3.2.0

      -
    • Map all documents using the provided function If there is a transform set on the cursor, that will be called first and the result passed to this function's transform.

      -

      Type Parameters

      • T = any

      Parameters

      • transform: ((doc: any) => T)

        The mapping transformation method.

        -
          • (doc): T
          • Parameters

            • doc: any

            Returns T

      Returns AbstractCursor<T, AbstractCursorEvents>

      Note Cursors use null internally to indicate that there are no more documents in the cursor. Providing a mapping +

      Type Parameters

      • T = any

      Parameters

      • transform: ((doc: any) => T)

        The mapping transformation method.

        +
          • (doc): T
          • Parameters

            • doc: any

            Returns T

      Returns AbstractCursor<T, AbstractCursorEvents>

      Note Cursors use null internally to indicate that there are no more documents in the cursor. Providing a mapping function that maps values to null will result in the cursor closing itself before it has finished iterating all documents. This will not result in a memory leak, just surprising behavior. For example:

      const cursor = collection.find({});
      cursor.map(() => null);

      const documents = await cursor.toArray();
      // documents is always [], regardless of how many documents are in the collection. @@ -169,7 +169,7 @@
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    pipeline: Document[]
    signal: undefined | AbortSignal
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    CLOSE: "close" = ...
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -101,7 +101,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -112,10 +112,10 @@

    Returns undefined | Long

    • get killed(): boolean
    • A killCursors command was attempted on this cursor. This is performed if the cursor id is non zero.

      Returns boolean

    Methods

    • Type Parameters

      • K

      Parameters

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

      Returns void

    • Add a cursor flag to the cursor

      -

      Parameters

      • flag:
            | "tailable"
            | "oplogReplay"
            | "noCursorTimeout"
            | "awaitData"
            | "exhaust"
            | "partial"

        The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

        +

        Parameters

        • flag:
              | "tailable"
              | "awaitData"
              | "noCursorTimeout"
              | "oplogReplay"
              | "exhaust"
              | "partial"

          The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

        • value: boolean

          The flag boolean value.

        Returns this

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -157,19 +157,19 @@
    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns number

      v3.2.0

      -
    • Get the next available document from the cursor, returns null if no more documents are available.

      Returns Promise<null | {
          name: string;
      }>

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

    • Rewind this cursor to its uninitialized state. Any options that are present on the cursor will remain in effect. Iterating this cursor will cause new queries to be sent to the server, even if the resultant data has already been retrieved by this cursor.

      Returns void

    • By default EventEmitters will print a warning if more than 10 listeners are diff --git a/docs/Next/classes/MongoBulkWriteError.html b/docs/Next/classes/MongoBulkWriteError.html index b5871296ce2..0010fb06f9f 100644 --- a/docs/Next/classes/MongoBulkWriteError.html +++ b/docs/Next/classes/MongoBulkWriteError.html @@ -1,5 +1,5 @@ MongoBulkWriteError | mongodb

      Class MongoBulkWriteError

      An error indicating an unsuccessful Bulk Write

      -

      Hierarchy (view full)

      Constructors

      Hierarchy (view full)

      Constructors

      Properties

      cause? code? codeName? @@ -33,19 +33,19 @@

      Meant for internal use only.

      Parameters

      Returns MongoBulkWriteError

      This class is only meant to be constructed within the driver. This constructor is not subject to semantic versioning compatibility guarantees and may change at any time.

      -

    Properties

    cause?: Error
    code?: string | number

    This is a number in MongoServerError and a string in MongoDriverError

    -
    codeName?: string
    connectionGeneration?: number
    errInfo?: Document
    errorResponse: ErrorDescription

    Raw error result document returned by server.

    -
    message: string
    ok?: number
    stack?: string
    topologyVersion?: TopologyVersion
    writeConcernError?: Document
    writeErrors: OneOrMore<WriteError> = []
    prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

    Optional override for formatting stack traces

    +

    Properties

    cause?: Error
    code?: string | number

    This is a number in MongoServerError and a string in MongoDriverError

    +
    codeName?: string
    connectionGeneration?: number
    errInfo?: Document
    errorResponse: ErrorDescription

    Raw error result document returned by server.

    +
    message: string
    ok?: number
    stack?: string
    topologyVersion?: TopologyVersion
    writeConcernError?: Document
    writeErrors: OneOrMore<WriteError> = []
    prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

    Optional override for formatting stack traces

    stackTraceLimit: number

    Accessors

    • get errmsg(): string
    • Legacy name for server error responses

      Returns string

    • get errorLabels(): string[]
    • Returns string[]

    • get insertedIds(): {
          [key: number]: any;
      }
    • Inserted document generated Id's, hash key is the index of the originating operation

      -

      Returns {
          [key: number]: any;
      }

      • [key: number]: any
    • get matchedCount(): number
    • Number of documents matched for update.

      -

      Returns number

    • get upsertedIds(): {
          [key: number]: any;
      }
    • Upserted document generated Id's, hash key is the index of the originating operation

      -

      Returns {
          [key: number]: any;
      }

      • [key: number]: any

    Methods

    • Checks the error to see if it has an error label

      +

      Returns number

    • get insertedIds(): {
          [key: number]: any;
      }
    • Inserted document generated Id's, hash key is the index of the originating operation

      +

      Returns {
          [key: number]: any;
      }

      • [key: number]: any
    • get matchedCount(): number
    • Number of documents matched for update.

      +

      Returns number

    • get upsertedIds(): {
          [key: number]: any;
      }
    • Upserted document generated Id's, hash key is the index of the originating operation

      +

      Returns {
          [key: number]: any;
      }

      • [key: number]: any

    Methods

    • Checks the error to see if it has an error label

      Parameters

      • label: string

        The error label to check for

      Returns boolean

      returns true if the error has the provided error label

    • Create .stack property on a target object

      diff --git a/docs/Next/classes/MongoClient.html b/docs/Next/classes/MongoClient.html index 212e3b2217e..a5b5c945ab3 100644 --- a/docs/Next/classes/MongoClient.html +++ b/docs/Next/classes/MongoClient.html @@ -68,7 +68,7 @@
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -96,12 +96,12 @@

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    Accessors

    Methods

    • Type Parameters

      • K

      Parameters

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

      Returns void

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -196,19 +196,19 @@
    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      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 number

      v3.2.0

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

      +

      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 number

      v3.2.0

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

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      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 MongoClientEvents[EventKey][]

      v0.1.26

      +

      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 MongoClientEvents[EventKey][]

      v0.1.26

    • Alias for emitter.removeListener().

      -

      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

      v10.0.0

      +

      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

      v10.0.0

    • Alias for emitter.removeListener().

      Parameters

      Returns this

      v10.0.0

    • 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

      • event: EventKey
      • listener: MongoClientEvents[EventKey]

        The callback function

        +

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

      • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -269,7 +269,7 @@

        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

        • event: EventKey
        • listener: MongoClientEvents[EventKey]

          The callback function

          +

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

        • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

          @@ -305,7 +305,7 @@

          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

          • event: EventKey
          • listener: MongoClientEvents[EventKey]

            The callback function

            +

            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

            v6.0.0

          • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has @@ -333,7 +333,7 @@

            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

            • event: EventKey
            • listener: MongoClientEvents[EventKey]

              The callback function

              +

              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

              v6.0.0

            • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

              @@ -351,18 +351,18 @@

              Returns this

              v6.0.0

              -
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      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 MongoClientEvents[EventKey][]

      v9.4.0

      +

      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 MongoClientEvents[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      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

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      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

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);
      @@ -389,7 +389,7 @@

      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

      +

      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

    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);
      diff --git a/docs/Next/classes/OrderedBulkOperation.html b/docs/Next/classes/OrderedBulkOperation.html index e02d9e8ef96..90ae787cb82 100644 --- a/docs/Next/classes/OrderedBulkOperation.html +++ b/docs/Next/classes/OrderedBulkOperation.html @@ -9,14 +9,14 @@ find insert raw -

    Properties

    isOrdered: boolean
    operationId?: number

    Accessors

    Methods

    • Builds a find operation for an update/updateOne/delete/deleteOne/replaceOne. +

    Properties

    isOrdered: boolean
    operationId?: number

    Accessors

    Methods

    • Builds a find operation for an update/updateOne/delete/deleteOne/replaceOne. Returns a builder object used to complete the definition of the operation.

      Parameters

      Returns FindOperators

      const bulkOp = collection.initializeOrderedBulkOp();

      // Add an updateOne to the bulkOp
      bulkOp.find({ a: 1 }).updateOne({ $set: { b: 2 } });

      // Add an updateMany to the bulkOp
      bulkOp.find({ c: 3 }).update({ $set: { d: 4 } });

      // Add an upsert
      bulkOp.find({ e: 5 }).upsert().updateOne({ $set: { f: 6 } });

      // Add a deletion
      bulkOp.find({ g: 7 }).deleteOne();

      // Add a multi deletion
      bulkOp.find({ h: 8 }).delete();

      // Add a replaceOne
      bulkOp.find({ i: 9 }).replaceOne({writeConcern: { j: 10 }});

      // Update using a pipeline (requires Mongodb 4.2 or higher)
      bulk.find({ k: 11, y: { $exists: true }, z: { $exists: true } }).updateOne([
      { $set: { total: { $sum: [ '$y', '$z' ] } } }
      ]);

      // All of the ops will now be executed
      await bulkOp.execute();
      -
    +
    diff --git a/docs/Next/classes/RunCommandCursor.html b/docs/Next/classes/RunCommandCursor.html index fa6af44a16c..2711450927c 100644 --- a/docs/Next/classes/RunCommandCursor.html +++ b/docs/Next/classes/RunCommandCursor.html @@ -63,7 +63,7 @@
    command: Readonly<Record<string, any>>
    getMoreOptions: {
        batchSize?: number;
        comment?: any;
        maxAwaitTimeMS?: number;
    } = {}
    signal: undefined | AbortSignal
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    CLOSE: "close" = ...
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -91,7 +91,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -103,7 +103,7 @@ This is performed if the cursor id is non zero.

    Returns boolean

    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 "close"

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

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

      Parameters

      Returns this

      v0.1.26

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

      @@ -118,7 +118,7 @@
      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
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -132,22 +132,22 @@
    • Will be removed in a future release. Use for await...of instead.
    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns number

      v3.2.0

      -
    • Map all documents using the provided function If there is a transform set on the cursor, that will be called first and the result passed to this function's transform.

      -

      Type Parameters

      • T = any

      Parameters

      • transform: ((doc: any) => T)

        The mapping transformation method.

        -
          • (doc): T
          • Parameters

            • doc: any

            Returns T

      Returns AbstractCursor<T, AbstractCursorEvents>

      Note Cursors use null internally to indicate that there are no more documents in the cursor. Providing a mapping +

      Type Parameters

      • T = any

      Parameters

      • transform: ((doc: any) => T)

        The mapping transformation method.

        +
          • (doc): T
          • Parameters

            • doc: any

            Returns T

      Returns AbstractCursor<T, AbstractCursorEvents>

      Note Cursors use null internally to indicate that there are no more documents in the cursor. Providing a mapping function that maps values to null will result in the cursor closing itself before it has finished iterating all documents. This will not result in a memory leak, just surprising behavior. For example:

      const cursor = collection.find({});
      cursor.map(() => null);

      const documents = await cursor.toArray();
      // documents is always [], regardless of how many documents are in the collection. @@ -167,7 +167,7 @@
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    Constructors

    Properties

    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -58,12 +58,12 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    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 string | number | symbol

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns this

      v0.1.26

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

      Parameters

      Returns this

      v0.1.26

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

      @@ -74,7 +74,7 @@
      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
      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns boolean

      v0.1.26

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns boolean

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -82,19 +82,19 @@

      Returns string[]

      v6.0.0

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns number

      v3.2.0

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

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns number

      v3.2.0

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

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns Events[EventKey][]

      v0.1.26

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns Events[EventKey][]

      v0.1.26

    • Alias for emitter.removeListener().

      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns this

      v10.0.0

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns this

      v10.0.0

    • Alias for emitter.removeListener().

      Parameters

      Returns this

      v10.0.0

    • Alias for emitter.removeListener().

      @@ -112,7 +112,7 @@
      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      • event: EventKey
      • listener: Events[EventKey]

        The callback function

        +

        Type Parameters

        • EventKey extends string | number | symbol

        Parameters

        Returns this

        v0.1.101

      • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -155,7 +155,7 @@

        import { EventEmitter } from 'node:events';
        const myEE = new EventEmitter();
        myEE.once('foo', () => console.log('a'));
        myEE.prependOnceListener('foo', () => console.log('b'));
        myEE.emit('foo');
        // Prints:
        // b
        // a
        -

        Type Parameters

        • EventKey extends string | number | symbol

        Parameters

        • event: EventKey
        • listener: Events[EventKey]

          The callback function

          +

          Type Parameters

          • EventKey extends string | number | symbol

          Parameters

          Returns this

          v0.3.0

        • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

          @@ -191,7 +191,7 @@

          Returns a reference to the EventEmitter, so that calls can be chained.

          -

          Type Parameters

          • EventKey extends string | number | symbol

          Parameters

          • event: EventKey
          • listener: Events[EventKey]

            The callback function

            +

            Type Parameters

            • EventKey extends string | number | symbol

            Parameters

            Returns this

            v6.0.0

          • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has @@ -219,7 +219,7 @@

            Returns a reference to the EventEmitter, so that calls can be chained.

            -

            Type Parameters

            • EventKey extends string | number | symbol

            Parameters

            • event: EventKey
            • listener: Events[EventKey]

              The callback function

              +

              Type Parameters

              • EventKey extends string | number | symbol

              Parameters

              Returns this

              v6.0.0

            • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

              @@ -237,18 +237,18 @@

              Returns a reference to the EventEmitter, so that calls can be chained.

              Parameters

              Returns this

              v6.0.0

              -
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns Events[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns Events[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);
      @@ -275,7 +275,7 @@

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns this

      v0.1.26

    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);
      diff --git a/docs/Next/classes/UnorderedBulkOperation.html b/docs/Next/classes/UnorderedBulkOperation.html index bd3a400186a..c4f69314344 100644 --- a/docs/Next/classes/UnorderedBulkOperation.html +++ b/docs/Next/classes/UnorderedBulkOperation.html @@ -9,14 +9,14 @@ find insert raw -

    Properties

    isOrdered: boolean
    operationId?: number

    Accessors

    Methods

    • Builds a find operation for an update/updateOne/delete/deleteOne/replaceOne. +

    Properties

    isOrdered: boolean
    operationId?: number

    Accessors

    Methods

    • Builds a find operation for an update/updateOne/delete/deleteOne/replaceOne. Returns a builder object used to complete the definition of the operation.

      Parameters

      Returns FindOperators

      const bulkOp = collection.initializeOrderedBulkOp();

      // Add an updateOne to the bulkOp
      bulkOp.find({ a: 1 }).updateOne({ $set: { b: 2 } });

      // Add an updateMany to the bulkOp
      bulkOp.find({ c: 3 }).update({ $set: { d: 4 } });

      // Add an upsert
      bulkOp.find({ e: 5 }).upsert().updateOne({ $set: { f: 6 } });

      // Add a deletion
      bulkOp.find({ g: 7 }).deleteOne();

      // Add a multi deletion
      bulkOp.find({ h: 8 }).delete();

      // Add a replaceOne
      bulkOp.find({ i: 9 }).replaceOne({writeConcern: { j: 10 }});

      // Update using a pipeline (requires Mongodb 4.2 or higher)
      bulk.find({ k: 11, y: { $exists: true }, z: { $exists: true } }).updateOne([
      { $set: { total: { $sum: [ '$y', '$z' ] } } }
      ]);

      // All of the ops will now be executed
      await bulkOp.execute();
      -
    +
    diff --git a/docs/Next/classes/WriteConcernError.html b/docs/Next/classes/WriteConcernError.html index 017748d80f0..6501193bd75 100644 --- a/docs/Next/classes/WriteConcernError.html +++ b/docs/Next/classes/WriteConcernError.html @@ -1,11 +1,11 @@ WriteConcernError | mongodb

    Class WriteConcernError

    An error representing a failure by the server to apply the requested write concern to the bulk operation.

    -

    Constructors

    Constructors

    Accessors

    Methods

    Constructors

    Accessors

    • get code(): undefined | number
    • Write concern error code.

      -

      Returns undefined | number

    • get errmsg(): undefined | string
    • Write concern error message.

      -

      Returns undefined | string

    Methods

    +

    Constructors

    Accessors

    • get code(): undefined | number
    • Write concern error code.

      +

      Returns undefined | number

    • get errmsg(): undefined | string
    • Write concern error message.

      +

      Returns undefined | string

    Methods

    diff --git a/docs/Next/classes/WriteError.html b/docs/Next/classes/WriteError.html index ad9c0cad503..7582ca27081 100644 --- a/docs/Next/classes/WriteError.html +++ b/docs/Next/classes/WriteError.html @@ -1,5 +1,5 @@ WriteError | mongodb

    Class WriteError

    An error that occurred during a BulkWrite on the server.

    -

    Constructors

    Constructors

    Properties

    Accessors

    code errInfo @@ -8,9 +8,9 @@

    Methods

    Constructors

    Properties

    Accessors

    • get errmsg(): undefined | string
    • WriteError message.

      -

      Returns undefined | string

    Methods

    • Returns {
          code: number;
          errmsg?: string;
          index: number;
          op: Document;
      }

      • code: number
      • Optionalerrmsg?: string
      • index: number
      • op: Document
    +

    Constructors

    Properties

    Accessors

    • get errmsg(): undefined | string
    • WriteError message.

      +

      Returns undefined | string

    Methods

    • Returns {
          code: number;
          errmsg?: string;
          index: number;
          op: Document;
      }

      • code: number
      • Optionalerrmsg?: string
      • index: number
      • op: Document
    diff --git a/docs/Next/hierarchy.html b/docs/Next/hierarchy.html index 25bcbb88efa..056e791c6f6 100644 --- a/docs/Next/hierarchy.html +++ b/docs/Next/hierarchy.html @@ -1 +1 @@ -mongodb

    mongodb

    Class Hierarchy

    +mongodb

    mongodb

    Class Hierarchy

    diff --git a/docs/Next/interfaces/AggregateOptions.html b/docs/Next/interfaces/AggregateOptions.html index f5705230602..49f92b19357 100644 --- a/docs/Next/interfaces/AggregateOptions.html +++ b/docs/Next/interfaces/AggregateOptions.html @@ -1,4 +1,4 @@ -AggregateOptions | mongodb

    Interface AggregateOptions

    interface AggregateOptions {
        allowDiskUse?: boolean;
        authdb?: string;
        batchSize?: number;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        cursor?: Document;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        out?: string;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    allowDiskUse? +AggregateOptions | mongodb

    Interface AggregateOptions

    interface AggregateOptions {
        allowDiskUse?: boolean;
        authdb?: string;
        batchSize?: number;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        cursor?: Document;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        out?: string;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    allowDiskUse?: boolean

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

    -
    authdb?: string
    batchSize?: number

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

    -
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

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

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

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

    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.

    +
    dbName?: string
    enableUtf8Validation?: boolean

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

    Specifies the verbosity mode for the explain output.

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

    -
    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

    hint?: Hint

    Add an index selection hint to an aggregation command

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

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

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

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

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

    +
    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 465d2f6fed3..742eb7249ba 100644 --- a/docs/Next/interfaces/AggregationCursorOptions.html +++ b/docs/Next/interfaces/AggregationCursorOptions.html @@ -1,4 +1,4 @@ -AggregationCursorOptions | mongodb

    Interface AggregationCursorOptions

    interface AggregationCursorOptions {
        allowDiskUse?: boolean;
        authdb?: string;
        awaitData?: boolean;
        batchSize?: number;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        cursor?: Document;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noCursorTimeout?: boolean;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        out?: string;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        tailable?: boolean;
        timeoutMode?: CursorTimeoutMode;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    allowDiskUse? +AggregationCursorOptions | mongodb

    Interface AggregationCursorOptions

    interface AggregationCursorOptions {
        allowDiskUse?: boolean;
        authdb?: string;
        awaitData?: boolean;
        batchSize?: number;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        cursor?: Document;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noCursorTimeout?: boolean;
        noResponse?: boolean;
        out?: string;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        tailable?: boolean;
        timeoutMode?: CursorTimeoutMode;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    allowDiskUse?: boolean

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

    -
    authdb?: string
    awaitData?: boolean

    If awaitData is set to true, when the cursor reaches the end of the capped collection, +

    authdb?: string
    awaitData?: boolean

    If awaitData is set to true, when the cursor reaches the end of the capped collection, MongoDB blocks the query thread for a period of time waiting for new data to arrive. When new data is inserted into the capped collection, the blocked thread is signaled to wake up and return the next batch to the client.

    @@ -45,30 +44,31 @@
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

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

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

    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.

    +
    dbName?: string
    enableUtf8Validation?: boolean

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

    Specifies the verbosity mode for the explain output.

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

    -
    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

    hint?: Hint

    Add an index selection hint to an aggregation command

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

    -
    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
    noResponse?: boolean
    omitReadPreference?: boolean
    out?: string
    promoteBuffers?: boolean

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

    +
    noCursorTimeout?: boolean
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    true

    @@ -112,5 +112,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/BulkWriteOperationError.html b/docs/Next/interfaces/BulkWriteOperationError.html index 6f21a1775e6..4a47b40fee6 100644 --- a/docs/Next/interfaces/BulkWriteOperationError.html +++ b/docs/Next/interfaces/BulkWriteOperationError.html @@ -1,6 +1,6 @@ -BulkWriteOperationError | mongodb

    Interface BulkWriteOperationError

    interface BulkWriteOperationError {
        code: number;
        errInfo: Document;
        errmsg: string;
        index: number;
        op: Document | DeleteStatement | UpdateStatement;
    }

    Properties

    code +BulkWriteOperationError | mongodb

    Interface BulkWriteOperationError

    interface BulkWriteOperationError {
        code: number;
        errInfo: Document;
        errmsg: string;
        index: number;
        op: Document | DeleteStatement | UpdateStatement;
    }

    Properties

    Properties

    code: number
    errInfo: Document
    errmsg: string
    index: number
    +

    Properties

    code: number
    errInfo: Document
    errmsg: string
    index: number
    diff --git a/docs/Next/interfaces/BulkWriteOptions.html b/docs/Next/interfaces/BulkWriteOptions.html index 0586d9c43be..903b6399139 100644 --- a/docs/Next/interfaces/BulkWriteOptions.html +++ b/docs/Next/interfaces/BulkWriteOptions.html @@ -1,4 +1,4 @@ -BulkWriteOptions | mongodb

    Interface BulkWriteOptions

    interface BulkWriteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        ordered?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +BulkWriteOptions | mongodb

    Interface BulkWriteOptions

    interface BulkWriteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        ordered?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    false

    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.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    collation?: CollationOptions

    Collation

    comment?: unknown

    Comment to apply to the operation.

    @@ -41,19 +40,20 @@

    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.

    -
    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

    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 +

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

    -
    maxTimeMS?: number

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

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    ordered?: boolean

    If true, when an insert fails, don't execute the remaining writes. +

    maxTimeMS?: number

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

    +
    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 3c3a2327423..c4ab9f95688 100644 --- a/docs/Next/interfaces/ChangeStreamOptions.html +++ b/docs/Next/interfaces/ChangeStreamOptions.html @@ -1,5 +1,5 @@ ChangeStreamOptions | mongodb

    Interface ChangeStreamOptions

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

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

    Hierarchy

    Properties

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

    Hierarchy

    Properties

    allowDiskUse?: boolean

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

    -
    authdb?: string
    batchSize?: number

    The number of documents to return per batch.

    +
    authdb?: string
    batchSize?: number

    The number of documents to return per batch.

    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

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

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

    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.

    +
    dbName?: string
    enableUtf8Validation?: boolean

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

    Specifies the verbosity mode for the explain output.

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

    -
    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

    fullDocument?: string

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

    When set to 'updateLookup', the change notification for partial updates @@ -76,13 +75,14 @@

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

    hint?: Hint

    Add an index selection hint to an aggregation command

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

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

    -
    maxAwaitTimeMS?: number

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

    +
    maxAwaitTimeMS?: number

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

    maxTimeMS?: number

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

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

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    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.

    +
    resumeAfter?: unknown

    Allows you to start a changeStream after a specified event.

    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    showExpandedEvents?: boolean

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

    +
    showExpandedEvents?: boolean

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

    startAtOperationTime?: Timestamp

    Will start the changeStream after the specified operationTime.

    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.

    +
    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 61617e0827b..cdd87808e15 100644 --- a/docs/Next/interfaces/ClientBulkWriteOptions.html +++ b/docs/Next/interfaces/ClientBulkWriteOptions.html @@ -1,4 +1,4 @@ -ClientBulkWriteOptions | mongodb

    Interface ClientBulkWriteOptions

    interface ClientBulkWriteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        ordered?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        verboseResults?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +ClientBulkWriteOptions | mongodb

    Interface ClientBulkWriteOptions

    interface ClientBulkWriteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        ordered?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        verboseResults?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? bsonRegExp? bypassDocumentValidation? checkKeys? @@ -11,8 +11,7 @@ ignoreUndefined? let? maxTimeMS? -noResponse? -omitReadPreference? +noResponse? ordered? promoteBuffers? promoteLongs? @@ -41,14 +40,15 @@

    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.

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

    maxTimeMS?: number

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

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    ordered?: boolean

    If true, when an insert fails, don't execute the remaining writes. +

    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    @@ -70,14 +70,14 @@
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

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

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/ClusteredCollectionOptions.html b/docs/Next/interfaces/ClusteredCollectionOptions.html index 28ed506b02c..ae321a8d462 100644 --- a/docs/Next/interfaces/ClusteredCollectionOptions.html +++ b/docs/Next/interfaces/ClusteredCollectionOptions.html @@ -1,6 +1,6 @@ ClusteredCollectionOptions | mongodb

    Interface ClusteredCollectionOptions

    Configuration options for clustered collections

    interface ClusteredCollectionOptions {
        key: Document;
        name?: string;
        unique: boolean;
    }

    Hierarchy (view full)

    Properties

    key +
    interface ClusteredCollectionOptions {
        key: Document;
        name?: string;
        unique: boolean;
    }

    Hierarchy (view full)

    Properties

    Properties

    name?: string
    unique: boolean
    +

    Properties

    name?: string
    unique: boolean
    diff --git a/docs/Next/interfaces/CollectionInfo.html b/docs/Next/interfaces/CollectionInfo.html index 21ce2278a88..3da70e5d799 100644 --- a/docs/Next/interfaces/CollectionInfo.html +++ b/docs/Next/interfaces/CollectionInfo.html @@ -1,6 +1,6 @@ -CollectionInfo | mongodb

    Interface CollectionInfo

    interface CollectionInfo {
        idIndex?: Document;
        info?: {
            readOnly?: false;
            uuid?: Binary;
        };
        name: string;
        options?: Document;
        type?: string;
    }

    Hierarchy (view full)

    Properties

    idIndex? +CollectionInfo | mongodb

    Interface CollectionInfo

    interface CollectionInfo {
        idIndex?: Document;
        info?: {
            readOnly?: false;
            uuid?: Binary;
        };
        name: string;
        options?: Document;
        type?: string;
    }

    Hierarchy (view full)

    Properties

    idIndex?: Document
    info?: {
        readOnly?: false;
        uuid?: Binary;
    }
    name: string
    options?: Document
    type?: string
    +

    Properties

    idIndex?: Document
    info?: {
        readOnly?: false;
        uuid?: Binary;
    }
    name: string
    options?: Document
    type?: string
    diff --git a/docs/Next/interfaces/CollectionOptions.html b/docs/Next/interfaces/CollectionOptions.html index 0755dd0bb1f..4f2d8aee348 100644 --- a/docs/Next/interfaces/CollectionOptions.html +++ b/docs/Next/interfaces/CollectionOptions.html @@ -1,4 +1,4 @@ -CollectionOptions | mongodb

    Interface CollectionOptions

    interface CollectionOptions {
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        serializeFunctions?: boolean;
        timeoutMS?: number;
        useBigInt64?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    bsonRegExp? +CollectionOptions | mongodb

    Interface CollectionOptions

    interface CollectionOptions {
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        serializeFunctions?: boolean;
        timeoutMS?: number;
        useBigInt64?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    bsonRegExp? checkKeys? enableUtf8Validation? fieldsAsRaw? @@ -41,11 +41,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 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

    +
    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

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    Write Concern as an object

    diff --git a/docs/Next/interfaces/CommandOperationOptions.html b/docs/Next/interfaces/CommandOperationOptions.html index 9c71480d74c..86558e835d5 100644 --- a/docs/Next/interfaces/CommandOperationOptions.html +++ b/docs/Next/interfaces/CommandOperationOptions.html @@ -1,4 +1,4 @@ -CommandOperationOptions | mongodb

    Interface CommandOperationOptions

    interface CommandOperationOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +CommandOperationOptions | mongodb

    Interface CommandOperationOptions

    interface CommandOperationOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? bsonRegExp? checkKeys? collation? @@ -9,8 +9,7 @@ fieldsAsRaw? ignoreUndefined? maxTimeMS? -noResponse? -omitReadPreference? +noResponse? promoteBuffers? promoteLongs? promoteValues? @@ -35,13 +34,14 @@

    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.

    -
    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 note that the driver sets this to false

    true

    maxTimeMS?: number

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

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

    +
    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 232a91e236f..8a4e16478f2 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 b17204eba6a..10da4035ac0 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?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[];
        autoSelectFamily?: boolean;
        autoSelectFamilyAttemptTimeout?: number;
        ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        cancellationToken?: CancellationToken;
        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;
        metadata: ClientMetadata;
        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?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[];
        autoSelectFamily?: boolean;
        autoSelectFamilyAttemptTimeout?: number;
        ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        cancellationToken?: CancellationToken;
        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;
        metadata: ClientMetadata;
        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

    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.

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

    Cert chains in PEM format. One cert chain should be provided per +

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

    Cert chains in PEM format. One cert chain should be provided per private key. Each cert chain should consist of the PEM formatted certificate for a provided private key, followed by the PEM formatted intermediate certificates (if any), in order, and not @@ -81,7 +81,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 @@ -89,7 +89,7 @@ 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

    +
    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 @@ -98,7 +98,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
    metadata: ClientMetadata
    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
    metadata: ClientMetadata
    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 @@ -107,7 +107,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
    @@ -123,5 +123,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 8f59339173d..48b336d7dee 100644 --- a/docs/Next/interfaces/ConnectionPoolOptions.html +++ b/docs/Next/interfaces/ConnectionPoolOptions.html @@ -55,7 +55,7 @@
    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.

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

    Cert chains in PEM format. One cert chain should be provided per +

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

    Cert chains in PEM format. One cert chain should be provided per private key. Each cert chain should consist of the PEM formatted certificate for a provided private key, followed by the PEM formatted intermediate certificates (if any), in order, and not @@ -84,7 +84,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 @@ -92,7 +92,7 @@ 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

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

    localAddress?: string
    localPort?: number
    logicalSessionTimeoutMinutes?: number
    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.

    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.

    -
    metadata: ClientMetadata
    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.

    +
    metadata: ClientMetadata
    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.

    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 @@ -115,7 +115,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
    @@ -131,6 +131,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 ffe7aee46f4..f06e8fd159c 100644 --- a/docs/Next/interfaces/CountDocumentsOptions.html +++ b/docs/Next/interfaces/CountDocumentsOptions.html @@ -1,4 +1,4 @@ -CountDocumentsOptions | mongodb

    Interface CountDocumentsOptions

    interface CountDocumentsOptions {
        allowDiskUse?: boolean;
        authdb?: string;
        batchSize?: number;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        cursor?: Document;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        limit?: number;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        out?: string;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        skip?: number;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    allowDiskUse? +CountDocumentsOptions | mongodb

    Interface CountDocumentsOptions

    interface CountDocumentsOptions {
        allowDiskUse?: boolean;
        authdb?: string;
        batchSize?: number;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        cursor?: Document;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        limit?: number;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        out?: string;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        skip?: number;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    allowDiskUse?: boolean

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

    -
    authdb?: string
    batchSize?: number

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

    -
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

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

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

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

    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.

    +
    dbName?: string
    enableUtf8Validation?: boolean

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

    Specifies the verbosity mode for the explain output.

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

    -
    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

    hint?: Hint

    Add an index selection hint to an aggregation command

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

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

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

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

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

    +
    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 36dacd1503d..ab169ddeac2 100644 --- a/docs/Next/interfaces/CountOptions.html +++ b/docs/Next/interfaces/CountOptions.html @@ -1,4 +1,4 @@ -CountOptions | mongodb

    Interface CountOptions

    interface CountOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: string | Document;
        ignoreUndefined?: boolean;
        limit?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        skip?: number;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +CountOptions | mongodb

    Interface CountOptions

    interface CountOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: string | Document;
        ignoreUndefined?: boolean;
        limit?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        skip?: number;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? bsonRegExp? checkKeys? collation? @@ -11,8 +11,7 @@ ignoreUndefined? limit? maxTimeMS? -noResponse? -omitReadPreference? +noResponse? promoteBuffers? promoteLongs? promoteValues? @@ -38,7 +37,7 @@

    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.

    -
    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

    hint?: string | Document

    An index name hint for the query.

    ignoreUndefined?: boolean

    serialize will not emit undefined fields @@ -46,7 +45,8 @@

    true

    limit?: number

    The maximum amounts to count before aborting.

    maxTimeMS?: number

    Number of milliseconds to wait before aborting the query.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    skip?: number

    The number of documents to skip.

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

    +
    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 bdf43b85890..6ece3468922 100644 --- a/docs/Next/interfaces/CreateCollectionOptions.html +++ b/docs/Next/interfaces/CreateCollectionOptions.html @@ -1,4 +1,4 @@ -CreateCollectionOptions | mongodb

    Interface CreateCollectionOptions

    interface CreateCollectionOptions {
        authdb?: string;
        autoIndexId?: boolean;
        bsonRegExp?: boolean;
        capped?: boolean;
        changeStreamPreAndPostImages?: {
            enabled: boolean;
        };
        checkKeys?: boolean;
        clusteredIndex?: ClusteredCollectionOptions;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        encryptedFields?: Document;
        expireAfterSeconds?: number;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        flags?: number;
        ignoreUndefined?: boolean;
        indexOptionDefaults?: Document;
        max?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        pipeline?: Document[];
        pkFactory?: PkFactory;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        size?: number;
        storageEngine?: Document;
        timeoutMS?: number;
        timeseries?: TimeSeriesCollectionOptions;
        useBigInt64?: boolean;
        validationAction?: string;
        validationLevel?: string;
        validator?: Document;
        viewOn?: string;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +CreateCollectionOptions | mongodb

    Interface CreateCollectionOptions

    interface CreateCollectionOptions {
        authdb?: string;
        autoIndexId?: boolean;
        bsonRegExp?: boolean;
        capped?: boolean;
        changeStreamPreAndPostImages?: {
            enabled: boolean;
        };
        checkKeys?: boolean;
        clusteredIndex?: ClusteredCollectionOptions;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        encryptedFields?: Document;
        expireAfterSeconds?: number;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        flags?: number;
        ignoreUndefined?: boolean;
        indexOptionDefaults?: Document;
        max?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        pipeline?: Document[];
        pkFactory?: PkFactory;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        size?: number;
        storageEngine?: Document;
        timeoutMS?: number;
        timeseries?: TimeSeriesCollectionOptions;
        useBigInt64?: boolean;
        validationAction?: string;
        validationLevel?: string;
        validator?: Document;
        viewOn?: string;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb?: string
    autoIndexId?: boolean

    Create an index on the _id field of the document. This option is deprecated in MongoDB 3.2+ and will be removed once no longer supported by the server.

    -
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    capped?: boolean

    Create a capped collection

    -
    changeStreamPreAndPostImages?: {
        enabled: boolean;
    }

    If set, enables pre-update and post-update document events to be included for any +

    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.

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

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

    +
    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

    -
    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

    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.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    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.

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

    +
    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

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

    -
    willRetryWrite?: boolean

    Write Concern as an object

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

    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/CreateIndexesOptions.html b/docs/Next/interfaces/CreateIndexesOptions.html index 6e2ee92f36e..00c90a6b056 100644 --- a/docs/Next/interfaces/CreateIndexesOptions.html +++ b/docs/Next/interfaces/CreateIndexesOptions.html @@ -1,4 +1,4 @@ -CreateIndexesOptions | mongodb

    Interface CreateIndexesOptions

    interface CreateIndexesOptions {
        2dsphereIndexVersion?: number;
        authdb?: string;
        background?: boolean;
        bits?: number;
        bsonRegExp?: boolean;
        bucketSize?: number;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        commitQuorum?: string | number;
        dbName?: string;
        default_language?: string;
        enableUtf8Validation?: boolean;
        expireAfterSeconds?: number;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hidden?: boolean;
        ignoreUndefined?: boolean;
        language_override?: string;
        max?: number;
        maxTimeMS?: number;
        min?: number;
        name?: string;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        partialFilterExpression?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sparse?: boolean;
        storageEngine?: Document;
        textIndexVersion?: number;
        timeoutMS?: number;
        unique?: boolean;
        useBigInt64?: boolean;
        version?: number;
        weights?: Document;
        wildcardProjection?: Document;
        willRetryWrite?: boolean;
    }

    Hierarchy

    Properties

    2dsphereIndexVersion? +CreateIndexesOptions | mongodb

    Interface CreateIndexesOptions

    interface CreateIndexesOptions {
        2dsphereIndexVersion?: number;
        authdb?: string;
        background?: boolean;
        bits?: number;
        bsonRegExp?: boolean;
        bucketSize?: number;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        commitQuorum?: string | number;
        dbName?: string;
        default_language?: string;
        enableUtf8Validation?: boolean;
        expireAfterSeconds?: number;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hidden?: boolean;
        ignoreUndefined?: boolean;
        language_override?: string;
        max?: number;
        maxTimeMS?: number;
        min?: number;
        name?: string;
        noResponse?: boolean;
        partialFilterExpression?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sparse?: boolean;
        storageEngine?: Document;
        textIndexVersion?: number;
        timeoutMS?: number;
        unique?: boolean;
        useBigInt64?: boolean;
        version?: number;
        weights?: Document;
        wildcardProjection?: Document;
        willRetryWrite?: boolean;
    }

    Hierarchy

    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.

    +

    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

    comment?: unknown

    Comment to apply to the operation.

    @@ -54,21 +53,22 @@ 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.

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

    -

    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.

    +

    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)

    -
    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

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

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

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    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.

    +
    name?: string

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

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

    -
    weights?: Document
    wildcardProjection?: Document
    willRetryWrite?: boolean
    +
    weights?: Document
    wildcardProjection?: Document
    willRetryWrite?: boolean
    diff --git a/docs/Next/interfaces/DbOptions.html b/docs/Next/interfaces/DbOptions.html index f010636e612..9824536ac4b 100644 --- a/docs/Next/interfaces/DbOptions.html +++ b/docs/Next/interfaces/DbOptions.html @@ -1,4 +1,4 @@ -DbOptions | mongodb

    Interface DbOptions

    interface DbOptions {
        authSource?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        ignoreUndefined?: boolean;
        pkFactory?: PkFactory;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcern;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        timeoutMS?: number;
        useBigInt64?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authSource? +DbOptions | mongodb

    Interface DbOptions

    interface DbOptions {
        authSource?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        ignoreUndefined?: boolean;
        pkFactory?: PkFactory;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcern;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        timeoutMS?: number;
        useBigInt64?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authSource?: string

    If the database authentication is dependent on another databaseName.

    -
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

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

    -
    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

    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.

    +
    promoteBuffers?: boolean

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

    false

    promoteLongs?: boolean

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

    true

    @@ -48,12 +48,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?: 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

    +
    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

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    Write Concern as an object

    diff --git a/docs/Next/interfaces/DbStatsOptions.html b/docs/Next/interfaces/DbStatsOptions.html index fffd8f7a755..4b452a2cb93 100644 --- a/docs/Next/interfaces/DbStatsOptions.html +++ b/docs/Next/interfaces/DbStatsOptions.html @@ -1,4 +1,4 @@ -DbStatsOptions | mongodb

    Interface DbStatsOptions

    interface DbStatsOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        scale?: number;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +DbStatsOptions | mongodb

    Interface DbStatsOptions

    interface DbStatsOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        scale?: number;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? bsonRegExp? checkKeys? collation? @@ -9,8 +9,7 @@ fieldsAsRaw? ignoreUndefined? maxTimeMS? -noResponse? -omitReadPreference? +noResponse? promoteBuffers? promoteLongs? promoteValues? @@ -36,13 +35,14 @@

    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.

    -
    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 note that the driver sets this to false

    true

    maxTimeMS?: number

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

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    scale?: number

    Divide the returned sizes by scale value.

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

    +
    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/DeleteManyModel.html b/docs/Next/interfaces/DeleteManyModel.html index f8537b1e09c..506ec434a92 100644 --- a/docs/Next/interfaces/DeleteManyModel.html +++ b/docs/Next/interfaces/DeleteManyModel.html @@ -1,7 +1,7 @@ -DeleteManyModel | mongodb

    Interface DeleteManyModel<TSchema>

    interface DeleteManyModel<TSchema> {
        collation?: CollationOptions;
        filter: Filter<TSchema>;
        hint?: Hint;
    }

    Type Parameters

    Properties

    collation? +DeleteManyModel | mongodb

    Interface DeleteManyModel<TSchema>

    interface DeleteManyModel<TSchema> {
        collation?: CollationOptions;
        filter: Filter<TSchema>;
        hint?: Hint;
    }

    Type Parameters

    Properties

    collation?: CollationOptions

    Specifies a collation.

    -
    filter: Filter<TSchema>

    The filter to limit the deleted documents.

    -
    hint?: Hint

    The index to use. If specified, then the query system will only consider plans using the hinted index.

    -
    +
    filter: Filter<TSchema>

    The filter to limit the deleted documents.

    +
    hint?: Hint

    The index to use. If specified, then the query system will only consider plans using the hinted index.

    +
    diff --git a/docs/Next/interfaces/DeleteOneModel.html b/docs/Next/interfaces/DeleteOneModel.html index 608ff2fc252..cec811dd159 100644 --- a/docs/Next/interfaces/DeleteOneModel.html +++ b/docs/Next/interfaces/DeleteOneModel.html @@ -1,7 +1,7 @@ -DeleteOneModel | mongodb

    Interface DeleteOneModel<TSchema>

    interface DeleteOneModel<TSchema> {
        collation?: CollationOptions;
        filter: Filter<TSchema>;
        hint?: Hint;
    }

    Type Parameters

    Properties

    collation? +DeleteOneModel | mongodb

    Interface DeleteOneModel<TSchema>

    interface DeleteOneModel<TSchema> {
        collation?: CollationOptions;
        filter: Filter<TSchema>;
        hint?: Hint;
    }

    Type Parameters

    Properties

    collation?: CollationOptions

    Specifies a collation.

    -
    filter: Filter<TSchema>

    The filter to limit the deleted documents.

    -
    hint?: Hint

    The index to use. If specified, then the query system will only consider plans using the hinted index.

    -
    +
    filter: Filter<TSchema>

    The filter to limit the deleted documents.

    +
    hint?: Hint

    The index to use. If specified, then the query system will only consider plans using the hinted index.

    +
    diff --git a/docs/Next/interfaces/DeleteOptions.html b/docs/Next/interfaces/DeleteOptions.html index a12a4d07497..5ddb32c4f57 100644 --- a/docs/Next/interfaces/DeleteOptions.html +++ b/docs/Next/interfaces/DeleteOptions.html @@ -1,4 +1,4 @@ -DeleteOptions | mongodb

    Interface DeleteOptions

    interface DeleteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: string | Document;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        ordered?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +DeleteOptions | mongodb

    Interface DeleteOptions

    interface DeleteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: string | Document;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        ordered?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    collation?: CollationOptions

    Specifies the collation to use for the operation

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

    dbName?: string
    enableUtf8Validation?: boolean

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

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

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

    +
    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

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

    -
    maxTimeMS?: number

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

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    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.

    +
    maxTimeMS?: number

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

    +
    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/DeleteResult.html b/docs/Next/interfaces/DeleteResult.html index 225e0681c85..f22885da3d0 100644 --- a/docs/Next/interfaces/DeleteResult.html +++ b/docs/Next/interfaces/DeleteResult.html @@ -1,5 +1,5 @@ -DeleteResult | mongodb

    Interface DeleteResult

    interface DeleteResult {
        acknowledged: boolean;
        deletedCount: number;
    }

    Properties

    acknowledged +DeleteResult | mongodb

    Interface DeleteResult

    interface DeleteResult {
        acknowledged: boolean;
        deletedCount: number;
    }

    Properties

    acknowledged: boolean

    Indicates whether this write result was acknowledged. If not, then all other members of this result will be undefined.

    -
    deletedCount: number

    The number of documents that were deleted

    -
    +
    deletedCount: number

    The number of documents that were deleted

    +
    diff --git a/docs/Next/interfaces/DeleteStatement.html b/docs/Next/interfaces/DeleteStatement.html index 0d7f2650b70..40d739c01ad 100644 --- a/docs/Next/interfaces/DeleteStatement.html +++ b/docs/Next/interfaces/DeleteStatement.html @@ -1,9 +1,9 @@ -DeleteStatement | mongodb

    Interface DeleteStatement

    interface DeleteStatement {
        collation?: CollationOptions;
        hint?: Hint;
        limit: number;
        q: Document;
    }

    Properties

    collation? +DeleteStatement | mongodb

    Interface DeleteStatement

    interface DeleteStatement {
        collation?: CollationOptions;
        hint?: Hint;
        limit: number;
        q: Document;
    }

    Properties

    Properties

    collation?: CollationOptions

    Specifies the collation to use for the operation.

    -
    hint?: Hint

    A document or string that specifies the index to use to support the query predicate.

    -
    limit: number

    The number of matching documents to delete.

    -

    The query that matches documents to delete.

    -
    +
    hint?: Hint

    A document or string that specifies the index to use to support the query predicate.

    +
    limit: number

    The number of matching documents to delete.

    +

    The query that matches documents to delete.

    +
    diff --git a/docs/Next/interfaces/DropCollectionOptions.html b/docs/Next/interfaces/DropCollectionOptions.html index 25a773e1448..10ff1456253 100644 --- a/docs/Next/interfaces/DropCollectionOptions.html +++ b/docs/Next/interfaces/DropCollectionOptions.html @@ -1,4 +1,4 @@ -DropCollectionOptions | mongodb

    Interface DropCollectionOptions

    interface DropCollectionOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        encryptedFields?: Document;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +DropCollectionOptions | mongodb

    Interface DropCollectionOptions

    interface DropCollectionOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        encryptedFields?: Document;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? bsonRegExp? checkKeys? collation? @@ -10,8 +10,7 @@ fieldsAsRaw? ignoreUndefined? maxTimeMS? -noResponse? -omitReadPreference? +noResponse? promoteBuffers? promoteLongs? promoteValues? @@ -35,14 +34,15 @@ 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.

    -
    fieldsAsRaw?: Document

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

    +
    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 note that the driver sets this to false

    true

    maxTimeMS?: number

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

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

    +
    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 ca74c6575b1..c035962df97 100644 --- a/docs/Next/interfaces/EstimatedDocumentCountOptions.html +++ b/docs/Next/interfaces/EstimatedDocumentCountOptions.html @@ -1,4 +1,4 @@ -EstimatedDocumentCountOptions | mongodb

    Interface EstimatedDocumentCountOptions

    interface EstimatedDocumentCountOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +EstimatedDocumentCountOptions | mongodb

    Interface EstimatedDocumentCountOptions

    interface EstimatedDocumentCountOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? bsonRegExp? checkKeys? collation? @@ -9,8 +9,7 @@ fieldsAsRaw? ignoreUndefined? maxTimeMS? -noResponse? -omitReadPreference? +noResponse? promoteBuffers? promoteLongs? promoteValues? @@ -35,14 +34,15 @@

    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.

    -
    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 note that the driver sets this to false

    true

    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.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

    +
    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/ExplainCommandOptions.html b/docs/Next/interfaces/ExplainCommandOptions.html index c31bac083b7..107e4885160 100644 --- a/docs/Next/interfaces/ExplainCommandOptions.html +++ b/docs/Next/interfaces/ExplainCommandOptions.html @@ -1,5 +1,5 @@ -ExplainCommandOptions | mongodb

    Interface ExplainCommandOptions

    interface ExplainCommandOptions {
        maxTimeMS?: number;
        verbosity: string;
    }

    Properties

    maxTimeMS? +ExplainCommandOptions | mongodb

    Interface ExplainCommandOptions

    interface ExplainCommandOptions {
        maxTimeMS?: number;
        verbosity: string;
    }

    Properties

    maxTimeMS?: number

    The maxTimeMS setting for the command.

    -
    verbosity: string

    The explain verbosity for the command.

    -
    +
    verbosity: string

    The explain verbosity for the command.

    +
    diff --git a/docs/Next/interfaces/ExplainOptions.html b/docs/Next/interfaces/ExplainOptions.html index 4b11f7e9fb4..da15a3498e4 100644 --- a/docs/Next/interfaces/ExplainOptions.html +++ b/docs/Next/interfaces/ExplainOptions.html @@ -10,6 +10,6 @@
    // limits the `explain` command to no more than 2 seconds
    collection.find({ name: 'john doe' }, {
    explain: {
    verbosity: 'queryPlanner',
    maxTimeMS: 2000
    }
    });
    -
    interface ExplainOptions {
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
    }

    Hierarchy (view full)

    Properties

    interface ExplainOptions {
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
    }

    Hierarchy (view full)

    Properties

    Properties

    Specifies the verbosity mode for the explain output.

    -
    +
    diff --git a/docs/Next/interfaces/FindOneAndDeleteOptions.html b/docs/Next/interfaces/FindOneAndDeleteOptions.html index c4943681ffb..ea835b3de42 100644 --- a/docs/Next/interfaces/FindOneAndDeleteOptions.html +++ b/docs/Next/interfaces/FindOneAndDeleteOptions.html @@ -1,4 +1,4 @@ -FindOneAndDeleteOptions | mongodb

    Interface FindOneAndDeleteOptions

    interface FindOneAndDeleteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Document;
        ignoreUndefined?: boolean;
        includeResultMetadata?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        projection?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sort?: Sort;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +FindOneAndDeleteOptions | mongodb

    Interface FindOneAndDeleteOptions

    interface FindOneAndDeleteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Document;
        ignoreUndefined?: boolean;
        includeResultMetadata?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        projection?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sort?: Sort;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? bsonRegExp? checkKeys? collation? @@ -12,8 +12,7 @@ includeResultMetadata? let? maxTimeMS? -noResponse? -omitReadPreference? +noResponse? projection? promoteBuffers? promoteLongs? @@ -40,7 +39,7 @@

    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.

    -
    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

    hint?: Document

    An optional hint for query optimization. See the command reference for more information.

    ignoreUndefined?: boolean

    serialize will not emit undefined fields @@ -49,7 +48,8 @@

    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.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    projection?: Document

    Limits the fields to return for all matching documents.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    @@ -69,13 +69,13 @@
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    sort?: Sort

    Determines which document the operation modifies if the query selects multiple documents.

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

    +
    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 dcd9fb49ea4..5f473886d9e 100644 --- a/docs/Next/interfaces/FindOneAndReplaceOptions.html +++ b/docs/Next/interfaces/FindOneAndReplaceOptions.html @@ -1,4 +1,4 @@ -FindOneAndReplaceOptions | mongodb

    Interface FindOneAndReplaceOptions

    interface FindOneAndReplaceOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Document;
        ignoreUndefined?: boolean;
        includeResultMetadata?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        projection?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        returnDocument?: ReturnDocument;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sort?: Sort;
        timeoutMS?: number;
        upsert?: boolean;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +FindOneAndReplaceOptions | mongodb

    Interface FindOneAndReplaceOptions

    interface FindOneAndReplaceOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Document;
        ignoreUndefined?: boolean;
        includeResultMetadata?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        projection?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        returnDocument?: ReturnDocument;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sort?: Sort;
        timeoutMS?: number;
        upsert?: boolean;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? bsonRegExp? bypassDocumentValidation? checkKeys? @@ -13,8 +13,7 @@ includeResultMetadata? let? maxTimeMS? -noResponse? -omitReadPreference? +noResponse? projection? promoteBuffers? promoteLongs? @@ -44,7 +43,7 @@

    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.

    -
    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

    hint?: Document

    An optional hint for query optimization. See the command reference for more information.

    ignoreUndefined?: boolean

    serialize will not emit undefined fields @@ -53,7 +52,8 @@

    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.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    projection?: Document

    Limits the fields to return for all matching documents.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    @@ -73,15 +73,15 @@
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    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

    -
    sort?: Sort

    Determines which document the operation modifies if the query selects multiple documents.

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

    +
    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 a57c04ee369..b0acbe937d4 100644 --- a/docs/Next/interfaces/FindOneAndUpdateOptions.html +++ b/docs/Next/interfaces/FindOneAndUpdateOptions.html @@ -1,4 +1,4 @@ -FindOneAndUpdateOptions | mongodb

    Interface FindOneAndUpdateOptions

    interface FindOneAndUpdateOptions {
        arrayFilters?: Document[];
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Document;
        ignoreUndefined?: boolean;
        includeResultMetadata?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        projection?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        returnDocument?: ReturnDocument;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sort?: Sort;
        timeoutMS?: number;
        upsert?: boolean;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    arrayFilters? +FindOneAndUpdateOptions | mongodb

    Interface FindOneAndUpdateOptions

    interface FindOneAndUpdateOptions {
        arrayFilters?: Document[];
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Document;
        ignoreUndefined?: boolean;
        includeResultMetadata?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        projection?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        returnDocument?: ReturnDocument;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sort?: Sort;
        timeoutMS?: number;
        upsert?: boolean;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    arrayFilters? authdb? bsonRegExp? bypassDocumentValidation? @@ -14,8 +14,7 @@ includeResultMetadata? let? maxTimeMS? -noResponse? -omitReadPreference? +noResponse? projection? promoteBuffers? promoteLongs? @@ -46,7 +45,7 @@

    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.

    -
    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

    hint?: Document

    An optional hint for query optimization. See the command reference for more information.

    ignoreUndefined?: boolean

    serialize will not emit undefined fields @@ -55,7 +54,8 @@

    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.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    projection?: Document

    Limits the fields to return for all matching documents.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    @@ -75,15 +75,15 @@
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    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

    -
    sort?: Sort

    Determines which document the operation modifies if the query selects multiple documents.

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

    +
    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/FindOneOptions.html b/docs/Next/interfaces/FindOneOptions.html new file mode 100644 index 00000000000..8e4c564c5cc --- /dev/null +++ b/docs/Next/interfaces/FindOneOptions.html @@ -0,0 +1,111 @@ +FindOneOptions | mongodb

    Interface FindOneOptions

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

    Hierarchy (view full)

    Properties

    allowDiskUse?: boolean

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

    +
    allowPartialResults?: boolean

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

    +
    authdb?: string
    awaitData?: boolean

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

    +
    batchSize?: number

    Will be removed in the next major version. User provided value will be ignored.

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    false

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +

    false

    +
    collation?: CollationOptions

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

    +
    comment?: unknown

    Comment to apply to the operation.

    +

    In server versions pre-4.4, 'comment' must be string. A server +error will be thrown if any other type is provided.

    +

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    +
    dbName?: string
    enableUtf8Validation?: boolean

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

    +

    Specifies the verbosity mode for the explain output.

    +

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

    +
    fieldsAsRaw?: Document

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

    +

    null

    +
    hint?: Hint

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

    +
    ignoreUndefined?: boolean

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

    +

    true

    +
    let?: Document

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

    +
    limit?: number

    Will be removed in the next major version. User provided value will be ignored.

    +
    max?: Document

    The exclusive upper bound for a specific index

    +
    maxAwaitTimeMS?: number

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

    +
    maxTimeMS?: number

    Number of milliseconds to wait before aborting the query.

    +
    min?: Document

    The inclusive lower bound for a specific index

    +
    noCursorTimeout?: boolean

    Will be removed in the next major version. User provided value will be ignored.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    oplogReplay?: boolean

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

    +

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

    +
    projection?: Document

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

    +
    promoteBuffers?: boolean

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

    +

    false

    +
    promoteLongs?: boolean

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

    +

    true

    +
    promoteValues?: boolean

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

    +

    true

    +
    raw?: boolean

    Enabling the raw option will return a Node.js Buffer +which is allocated using allocUnsafe API. +See this section from the Node.js Docs here +for more detail about what "unsafe" refers to in this context. +If you need to maintain your own editable clone of the bytes returned for an extended life time of the process, it is recommended you allocate +your own buffer and clone the contents:

    +
    const raw = await collection.findOne({}, { raw: true });
    const myBuffer = Buffer.alloc(raw.byteLength);
    myBuffer.set(raw, 0);
    // Only save and use `myBuffer` beyond this point +
    + +

    Please note there is a known limitation where this option cannot be used at the MongoClient level (see NODE-3946). +It does correctly work at Db, Collection, and per operation the same as other BSON options work.

    +
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    +
    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    +
    retryWrites?: boolean

    Should retry failed writes

    +
    returnKey?: boolean

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

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    +

    false

    +
    session?: ClientSession

    Specify ClientSession for this command

    +
    showRecordId?: boolean

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

    +
    singleBatch?: boolean

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

    +
    skip?: number

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

    +
    sort?: Sort

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

    +
    tailable?: boolean

    Specify if the cursor is tailable.

    +
    timeout?: boolean

    Specify if the cursor can timeout.

    +
    timeoutMS?: number

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

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +

    false

    +
    willRetryWrite?: boolean
    diff --git a/docs/Next/interfaces/FindOptions.html b/docs/Next/interfaces/FindOptions.html index 22f27bcd537..497c75b46d2 100644 --- a/docs/Next/interfaces/FindOptions.html +++ b/docs/Next/interfaces/FindOptions.html @@ -1,5 +1,5 @@ -FindOptions | mongodb

    Interface FindOptions<TSchema>

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

    Type Parameters

    • TSchema extends Document = Document

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

      -

    Hierarchy (view full)

    Properties

    allowDiskUse? +FindOptions | mongodb

    Interface FindOptions<TSchema>

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

    Type Parameters

    • TSchema extends Document = Document

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

      +

    Hierarchy (view full)

    Properties

    allowDiskUse?: boolean

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

    -
    allowPartialResults?: boolean

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

    -
    authdb?: string
    awaitData?: boolean

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

    -
    batchSize?: number

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

    -
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +
    allowPartialResults?: boolean

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

    +
    authdb?: string
    awaitData?: boolean

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

    +
    batchSize?: number

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

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    collation?: CollationOptions

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

    -
    comment?: unknown

    Comment to apply to the operation.

    +
    comment?: unknown

    Comment to apply to the operation.

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    dbName?: string
    enableUtf8Validation?: boolean

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

    Specifies the verbosity mode for the explain output.

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

    -
    fieldsAsRaw?: Document

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

    +
    fieldsAsRaw?: Document

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

    null

    hint?: Hint

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

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

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

    true

    let?: Document

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

    -
    limit?: number

    Sets the limit of documents returned in the query.

    -
    max?: Document

    The exclusive upper bound for a specific index

    -
    maxAwaitTimeMS?: number

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

    -
    maxTimeMS?: number

    Number of milliseconds to wait before aborting the query.

    -
    min?: Document

    The inclusive lower bound for a specific index

    -
    noCursorTimeout?: boolean

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

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

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

    -

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

    -
    projection?: Document

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

    -
    promoteBuffers?: boolean

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

    +
    limit?: number

    Sets the limit of documents returned in the query.

    +
    max?: Document

    The exclusive upper bound for a specific index

    +
    maxAwaitTimeMS?: number

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

    +
    maxTimeMS?: number

    Number of milliseconds to wait before aborting the query.

    +
    min?: Document

    The inclusive lower bound for a specific index

    +
    noCursorTimeout?: boolean

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    oplogReplay?: boolean

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

    +

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

    +
    projection?: Document

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

    +
    promoteBuffers?: boolean

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

    false

    promoteLongs?: boolean

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    returnKey?: boolean

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

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    showRecordId?: boolean

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

    -
    singleBatch?: boolean

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

    -
    skip?: number

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

    -
    sort?: Sort

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

    -
    tailable?: boolean

    Specify if the cursor is tailable.

    -
    timeout?: boolean

    Specify if the cursor can timeout.

    -
    timeoutMS?: number

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

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    showRecordId?: boolean

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

    +
    singleBatch?: boolean

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

    +
    skip?: number

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

    +
    sort?: Sort

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

    +
    tailable?: boolean

    Specify if the cursor is tailable.

    +
    timeout?: boolean

    Specify if the cursor can timeout.

    +
    timeoutMS?: number

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

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean
    +
    willRetryWrite?: boolean
    diff --git a/docs/Next/interfaces/IndexDescription.html b/docs/Next/interfaces/IndexDescription.html index 476da9d4de3..a3838dca2ca 100644 --- a/docs/Next/interfaces/IndexDescription.html +++ b/docs/Next/interfaces/IndexDescription.html @@ -1,4 +1,4 @@ -IndexDescription | mongodb

    Interface IndexDescription

    interface IndexDescription {
        2dsphereIndexVersion?: number;
        background?: boolean;
        bits?: number;
        bucketSize?: number;
        collation?: CollationOptions;
        default_language?: string;
        expireAfterSeconds?: number;
        hidden?: boolean;
        key: {
            [key: string]: IndexDirection;
        } | Map<string, IndexDirection>;
        language_override?: string;
        max?: number;
        min?: number;
        name?: string;
        partialFilterExpression?: Document;
        sparse?: boolean;
        storageEngine?: Document;
        textIndexVersion?: number;
        unique?: boolean;
        version?: number;
        weights?: Document;
        wildcardProjection?: Document;
    }

    Hierarchy

    • Pick<CreateIndexesOptions,
          | "background"
          | "unique"
          | "partialFilterExpression"
          | "sparse"
          | "hidden"
          | "expireAfterSeconds"
          | "storageEngine"
          | "version"
          | "weights"
          | "default_language"
          | "language_override"
          | "textIndexVersion"
          | "2dsphereIndexVersion"
          | "bits"
          | "min"
          | "max"
          | "bucketSize"
          | "wildcardProjection">
      • IndexDescription

    Properties

    2dsphereIndexVersion? +IndexDescription | mongodb

    Interface IndexDescription

    interface IndexDescription {
        2dsphereIndexVersion?: number;
        background?: boolean;
        bits?: number;
        bucketSize?: number;
        collation?: CollationOptions;
        default_language?: string;
        expireAfterSeconds?: number;
        hidden?: boolean;
        key: {
            [key: string]: IndexDirection;
        } | Map<string, IndexDirection>;
        language_override?: string;
        max?: number;
        min?: number;
        name?: string;
        partialFilterExpression?: Document;
        sparse?: boolean;
        storageEngine?: Document;
        textIndexVersion?: number;
        unique?: boolean;
        version?: number;
        weights?: Document;
        wildcardProjection?: Document;
    }

    Hierarchy

    • Pick<CreateIndexesOptions,
          | "background"
          | "unique"
          | "partialFilterExpression"
          | "sparse"
          | "hidden"
          | "expireAfterSeconds"
          | "storageEngine"
          | "version"
          | "weights"
          | "default_language"
          | "language_override"
          | "textIndexVersion"
          | "2dsphereIndexVersion"
          | "bits"
          | "min"
          | "max"
          | "bucketSize"
          | "wildcardProjection">
      • IndexDescription

    Properties

    2dsphereIndexVersion?: number
    background?: boolean

    Creates the index in the background, yielding whenever possible.

    -
    bits?: number
    bucketSize?: number
    collation?: CollationOptions
    default_language?: string
    expireAfterSeconds?: number

    Allows you to expire data on indexes applied to a data (MongoDB 2.2 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)

    -
    key: {
        [key: string]: IndexDirection;
    } | Map<string, IndexDirection>
    language_override?: string
    max?: number

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

    -
    min?: number

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

    -
    name?: string
    partialFilterExpression?: Document

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

    -
    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
    unique?: boolean

    Creates an unique index.

    -
    version?: number

    Specifies the index version number, either 0 or 1.

    -
    weights?: Document
    wildcardProjection?: Document
    +

    Properties

    2dsphereIndexVersion?: number
    background?: boolean

    Creates the index in the background, yielding whenever possible.

    +
    bits?: number
    bucketSize?: number
    collation?: CollationOptions
    default_language?: string
    expireAfterSeconds?: number

    Allows you to expire data on indexes applied to a data (MongoDB 2.2 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)

    +
    key: {
        [key: string]: IndexDirection;
    } | Map<string, IndexDirection>
    language_override?: string
    max?: number

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

    +
    min?: number

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

    +
    name?: string
    partialFilterExpression?: Document

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

    +
    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
    unique?: boolean

    Creates an unique index.

    +
    version?: number

    Specifies the index version number, either 0 or 1.

    +
    weights?: Document
    wildcardProjection?: Document
    diff --git a/docs/Next/interfaces/IndexInformationOptions.html b/docs/Next/interfaces/IndexInformationOptions.html index c037f511c3b..fcbff6a4b80 100644 --- a/docs/Next/interfaces/IndexInformationOptions.html +++ b/docs/Next/interfaces/IndexInformationOptions.html @@ -1,4 +1,4 @@ -IndexInformationOptions | mongodb

    Interface IndexInformationOptions

    interface IndexInformationOptions {
        awaitData?: boolean;
        batchSize?: number;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        comment?: unknown;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        full?: boolean;
        ignoreUndefined?: boolean;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noCursorTimeout?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        serializeFunctions?: boolean;
        session?: ClientSession;
        tailable?: boolean;
        timeoutMode?: CursorTimeoutMode;
        timeoutMS?: number;
        useBigInt64?: boolean;
    }

    Hierarchy (view full)

    Properties

    awaitData? +IndexInformationOptions | mongodb

    Interface IndexInformationOptions

    interface IndexInformationOptions {
        awaitData?: boolean;
        batchSize?: number;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        comment?: unknown;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        full?: boolean;
        ignoreUndefined?: boolean;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noCursorTimeout?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        serializeFunctions?: boolean;
        session?: ClientSession;
        tailable?: boolean;
        timeoutMode?: CursorTimeoutMode;
        timeoutMS?: number;
        useBigInt64?: boolean;
    }

    Hierarchy (view full)

    Properties

    awaitData? batchSize? bsonRegExp? checkKeys? @@ -49,7 +49,7 @@
    {
    'a_1': [['a', 1]],
    'b_1_c_1': [['b', 1], ['c', 1]],
    }
    -
    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 diff --git a/docs/Next/interfaces/InsertManyResult.html b/docs/Next/interfaces/InsertManyResult.html index fb552b7fd7b..8cda7304180 100644 --- a/docs/Next/interfaces/InsertManyResult.html +++ b/docs/Next/interfaces/InsertManyResult.html @@ -1,7 +1,7 @@ -InsertManyResult | mongodb

    Interface InsertManyResult<TSchema>

    interface InsertManyResult<TSchema> {
        acknowledged: boolean;
        insertedCount: number;
        insertedIds: {
            [key: number]: InferIdType<TSchema>;
        };
    }

    Type Parameters

    Properties

    acknowledged +InsertManyResult | mongodb

    Interface InsertManyResult<TSchema>

    interface InsertManyResult<TSchema> {
        acknowledged: boolean;
        insertedCount: number;
        insertedIds: {
            [key: number]: InferIdType<TSchema>;
        };
    }

    Type Parameters

    Properties

    acknowledged: boolean

    Indicates whether this write result was acknowledged. If not, then all other members of this result will be undefined

    -
    insertedCount: number

    The number of inserted documents for this operations

    -
    insertedIds: {
        [key: number]: InferIdType<TSchema>;
    }

    Map of the index of the inserted document to the id of the inserted document

    -
    +
    insertedCount: number

    The number of inserted documents for this operations

    +
    insertedIds: {
        [key: number]: InferIdType<TSchema>;
    }

    Map of the index of the inserted document to the id of the inserted document

    +
    diff --git a/docs/Next/interfaces/InsertOneModel.html b/docs/Next/interfaces/InsertOneModel.html index c01892f1a37..aecb3a5272a 100644 --- a/docs/Next/interfaces/InsertOneModel.html +++ b/docs/Next/interfaces/InsertOneModel.html @@ -1,3 +1,3 @@ -InsertOneModel | mongodb

    Interface InsertOneModel<TSchema>

    interface InsertOneModel<TSchema> {
        document: OptionalId<TSchema>;
    }

    Type Parameters

    Properties

    document +InsertOneModel | mongodb

    Interface InsertOneModel<TSchema>

    interface InsertOneModel<TSchema> {
        document: OptionalId<TSchema>;
    }

    Type Parameters

    Properties

    Properties

    document: OptionalId<TSchema>

    The document to insert.

    -
    +
    diff --git a/docs/Next/interfaces/InsertOneOptions.html b/docs/Next/interfaces/InsertOneOptions.html index e34272a8974..7b6f25023bc 100644 --- a/docs/Next/interfaces/InsertOneOptions.html +++ b/docs/Next/interfaces/InsertOneOptions.html @@ -1,4 +1,4 @@ -InsertOneOptions | mongodb

    Interface InsertOneOptions

    interface InsertOneOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +InsertOneOptions | mongodb

    Interface InsertOneOptions

    interface InsertOneOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    collation?: CollationOptions

    Collation

    comment?: unknown

    Comment to apply to the operation.

    @@ -38,14 +37,15 @@

    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.

    -
    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

    forceServerObjectId?: boolean

    Force server to assign _id values instead of driver.

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

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

    +
    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/InsertOneResult.html b/docs/Next/interfaces/InsertOneResult.html index 484d624650e..106f5245819 100644 --- a/docs/Next/interfaces/InsertOneResult.html +++ b/docs/Next/interfaces/InsertOneResult.html @@ -1,5 +1,5 @@ -InsertOneResult | mongodb

    Interface InsertOneResult<TSchema>

    interface InsertOneResult<TSchema> {
        acknowledged: boolean;
        insertedId: InferIdType<TSchema>;
    }

    Type Parameters

    Properties

    acknowledged +InsertOneResult | mongodb

    Interface InsertOneResult<TSchema>

    interface InsertOneResult<TSchema> {
        acknowledged: boolean;
        insertedId: InferIdType<TSchema>;
    }

    Type Parameters

    Properties

    acknowledged: boolean

    Indicates whether this write result was acknowledged. If not, then all other members of this result will be undefined

    -
    insertedId: InferIdType<TSchema>

    The identifier that was inserted. If the server generated the identifier, this value will be null as the driver does not have access to that data

    -
    +
    insertedId: InferIdType<TSchema>

    The identifier that was inserted. If the server generated the identifier, this value will be null as the driver does not have access to that data

    +
    diff --git a/docs/Next/interfaces/ListCollectionsOptions.html b/docs/Next/interfaces/ListCollectionsOptions.html index 1ecd79c5543..2a070071758 100644 --- a/docs/Next/interfaces/ListCollectionsOptions.html +++ b/docs/Next/interfaces/ListCollectionsOptions.html @@ -1,4 +1,4 @@ -ListCollectionsOptions | mongodb

    Interface ListCollectionsOptions

    interface ListCollectionsOptions {
        authdb?: string;
        authorizedCollections?: boolean;
        batchSize?: number;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        nameOnly?: boolean;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        signal?: AbortSignal;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
    }

    Hierarchy (view full)

    Properties

    authdb? +ListCollectionsOptions | mongodb

    Interface ListCollectionsOptions

    interface ListCollectionsOptions {
        authdb?: string;
        authorizedCollections?: boolean;
        batchSize?: number;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        nameOnly?: boolean;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        signal?: AbortSignal;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
    }

    Hierarchy (view full)

    Properties

    authdb?: string
    authorizedCollections?: boolean

    Since 4.0: If true and nameOnly is true, allows a user without the required privilege (i.e. listCollections action on the database) to run the command when access control is enforced.

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

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

    false

    @@ -40,14 +39,15 @@

    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.

    -
    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 note that the driver sets this to false

    true

    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

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    signal?: AbortSignal

    When provided, the corresponding AbortController can be used to abort an asynchronous action.

    +
    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 socket or reading the response from the server, the socket will be closed. @@ -83,6 +83,6 @@

    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.

    +
    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 50cc3ffc357..1e410629dab 100644 --- a/docs/Next/interfaces/ListDatabasesOptions.html +++ b/docs/Next/interfaces/ListDatabasesOptions.html @@ -1,4 +1,4 @@ -ListDatabasesOptions | mongodb

    Interface ListDatabasesOptions

    interface ListDatabasesOptions {
        authdb?: string;
        authorizedDatabases?: boolean;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        filter?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        nameOnly?: boolean;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +ListDatabasesOptions | mongodb

    Interface ListDatabasesOptions

    interface ListDatabasesOptions {
        authdb?: string;
        authorizedDatabases?: boolean;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        filter?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        nameOnly?: boolean;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    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.

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    @@ -39,15 +38,16 @@

    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.

    -
    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

    filter?: Document

    A query predicate that determines which databases are listed

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

    nameOnly?: boolean

    A flag to indicate whether the command should return just the database names, or return both database names and size information

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

    +
    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/ListDatabasesResult.html b/docs/Next/interfaces/ListDatabasesResult.html index c3e23e661b2..e68a7b6478a 100644 --- a/docs/Next/interfaces/ListDatabasesResult.html +++ b/docs/Next/interfaces/ListDatabasesResult.html @@ -1,5 +1,5 @@ -ListDatabasesResult | mongodb

    Interface ListDatabasesResult

    interface ListDatabasesResult {
        databases: ({
            empty?: boolean;
            name: string;
            sizeOnDisk?: number;
        } & Document)[];
        ok: 0 | 1;
        totalSize?: number;
        totalSizeMb?: number;
    }

    Properties

    databases +ListDatabasesResult | mongodb

    Interface ListDatabasesResult

    interface ListDatabasesResult {
        databases: ({
            empty?: boolean;
            name: string;
            sizeOnDisk?: number;
        } & Document)[];
        ok: 0 | 1;
        totalSize?: number;
        totalSizeMb?: number;
    }

    Properties

    databases: ({
        empty?: boolean;
        name: string;
        sizeOnDisk?: number;
    } & Document)[]
    ok: 0 | 1
    totalSize?: number
    totalSizeMb?: number
    +

    Properties

    databases: ({
        empty?: boolean;
        name: string;
        sizeOnDisk?: number;
    } & Document)[]
    ok: 0 | 1
    totalSize?: number
    totalSizeMb?: number
    diff --git a/docs/Next/interfaces/ModifyResult.html b/docs/Next/interfaces/ModifyResult.html index 1844f146b4d..828b8c42ebd 100644 --- a/docs/Next/interfaces/ModifyResult.html +++ b/docs/Next/interfaces/ModifyResult.html @@ -1,4 +1,4 @@ -ModifyResult | mongodb

    Interface ModifyResult<TSchema>

    interface ModifyResult<TSchema> {
        lastErrorObject?: Document;
        ok: 0 | 1;
        value: null | WithId<TSchema>;
    }

    Type Parameters

    Properties

    lastErrorObject? +ModifyResult | mongodb

    Interface ModifyResult<TSchema>

    interface ModifyResult<TSchema> {
        lastErrorObject?: Document;
        ok: 0 | 1;
        value: null | WithId<TSchema>;
    }

    Type Parameters

    Properties

    lastErrorObject?: Document
    ok: 0 | 1
    value: null | WithId<TSchema>
    +

    Properties

    lastErrorObject?: Document
    ok: 0 | 1
    value: null | WithId<TSchema>
    diff --git a/docs/Next/interfaces/MonitorOptions.html b/docs/Next/interfaces/MonitorOptions.html index 32804b11c84..67b688ee149 100644 --- a/docs/Next/interfaces/MonitorOptions.html +++ b/docs/Next/interfaces/MonitorOptions.html @@ -52,7 +52,7 @@
    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.

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

    Cert chains in PEM format. One cert chain should be provided per +

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

    Cert chains in PEM format. One cert chain should be provided per private key. Each cert chain should consist of the PEM formatted certificate for a provided private key, followed by the PEM formatted intermediate certificates (if any), in order, and not @@ -81,7 +81,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 @@ -98,7 +98,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
    metadata: ClientMetadata
    minDHSize?: number
    minHeartbeatFrequencyMS: 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
    metadata: ClientMetadata
    minDHSize?: number
    minHeartbeatFrequencyMS: 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 @@ -107,7 +107,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
    @@ -123,5 +123,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
    serverMonitoringMode: ServerMonitoringMode
    servername?: string
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

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

    An optional Buffer instance containing a TLS session.

    +
    socketTimeoutMS?: number
    tls: boolean
    diff --git a/docs/Next/interfaces/OperationOptions.html b/docs/Next/interfaces/OperationOptions.html index 7506e1970cc..2f586c3985f 100644 --- a/docs/Next/interfaces/OperationOptions.html +++ b/docs/Next/interfaces/OperationOptions.html @@ -1,9 +1,8 @@ -OperationOptions | mongodb

    Interface OperationOptions

    interface OperationOptions {
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readPreference?: ReadPreferenceLike;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
    }

    Hierarchy (view full)

    Properties

    bsonRegExp? +OperationOptions | mongodb

    Interface OperationOptions

    interface OperationOptions {
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readPreference?: ReadPreferenceLike;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
    }

    Hierarchy (view full)

    Properties

    ignoreUndefined?: boolean

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

    true

    -
    omitReadPreference?: boolean
    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.

    true

    @@ -42,10 +41,10 @@

    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.

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

    +
    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/ProxyOptions.html b/docs/Next/interfaces/ProxyOptions.html index 81836172d79..ad84ecbfd52 100644 --- a/docs/Next/interfaces/ProxyOptions.html +++ b/docs/Next/interfaces/ProxyOptions.html @@ -1,5 +1,5 @@ -ProxyOptions | mongodb

    Interface ProxyOptions

    interface ProxyOptions {
        proxyHost?: string;
        proxyPassword?: string;
        proxyPort?: number;
        proxyUsername?: string;
    }

    Hierarchy (view full)

    Properties

    proxyHost? +ProxyOptions | mongodb

    Interface ProxyOptions

    interface ProxyOptions {
        proxyHost?: string;
        proxyPassword?: string;
        proxyPort?: number;
        proxyUsername?: string;
    }

    Hierarchy (view full)

    Properties

    proxyHost?: string
    proxyPassword?: string
    proxyPort?: number
    proxyUsername?: string
    +

    Properties

    proxyHost?: string
    proxyPassword?: string
    proxyPort?: number
    proxyUsername?: string
    diff --git a/docs/Next/interfaces/RenameOptions.html b/docs/Next/interfaces/RenameOptions.html index 18127b4c0de..fbaf1e748a8 100644 --- a/docs/Next/interfaces/RenameOptions.html +++ b/docs/Next/interfaces/RenameOptions.html @@ -1,4 +1,4 @@ -RenameOptions | mongodb

    Interface RenameOptions

    interface RenameOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        dropTarget?: boolean;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        new_collection?: boolean;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +RenameOptions | mongodb

    Interface RenameOptions

    interface RenameOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        dropTarget?: boolean;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        new_collection?: boolean;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    dbName?: string
    dropTarget?: boolean

    Drop the target name collection if it previously exists.

    enableUtf8Validation?: boolean

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

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

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

    +
    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 note that the driver sets this to false

    true

    maxTimeMS?: number

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

    new_collection?: boolean

    Unclear

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

    +
    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/ReplaceOneModel.html b/docs/Next/interfaces/ReplaceOneModel.html index 95e00a3c7ad..08ea5501cc5 100644 --- a/docs/Next/interfaces/ReplaceOneModel.html +++ b/docs/Next/interfaces/ReplaceOneModel.html @@ -1,13 +1,13 @@ -ReplaceOneModel | mongodb

    Interface ReplaceOneModel<TSchema>

    interface ReplaceOneModel<TSchema> {
        collation?: CollationOptions;
        filter: Filter<TSchema>;
        hint?: Hint;
        replacement: WithoutId<TSchema>;
        sort?: Sort;
        upsert?: boolean;
    }

    Type Parameters

    Properties

    collation? +ReplaceOneModel | mongodb

    Interface ReplaceOneModel<TSchema>

    interface ReplaceOneModel<TSchema> {
        collation?: CollationOptions;
        filter: Filter<TSchema>;
        hint?: Hint;
        replacement: WithoutId<TSchema>;
        sort?: Sort;
        upsert?: boolean;
    }

    Type Parameters

    Properties

    collation?: CollationOptions

    Specifies a collation.

    -
    filter: Filter<TSchema>

    The filter that specifies which document to replace. In the case of multiple matches, the first document matched is replaced.

    -
    hint?: Hint

    The index to use. If specified, then the query system will only consider plans using the hinted index.

    -
    replacement: WithoutId<TSchema>

    The document with which to replace the matched document.

    -
    sort?: Sort

    Specifies the sort order for the documents matched by the filter.

    -
    upsert?: boolean

    When true, creates a new document if no document matches the query.

    -
    +
    filter: Filter<TSchema>

    The filter that specifies which document to replace. In the case of multiple matches, the first document matched is replaced.

    +
    hint?: Hint

    The index to use. If specified, then the query system will only consider plans using the hinted index.

    +
    replacement: WithoutId<TSchema>

    The document with which to replace the matched document.

    +
    sort?: Sort

    Specifies the sort order for the documents matched by the filter.

    +
    upsert?: boolean

    When true, creates a new document if no document matches the query.

    +
    diff --git a/docs/Next/interfaces/ReplaceOptions.html b/docs/Next/interfaces/ReplaceOptions.html index ef3eb3f2e30..7e20564872a 100644 --- a/docs/Next/interfaces/ReplaceOptions.html +++ b/docs/Next/interfaces/ReplaceOptions.html @@ -1,4 +1,4 @@ -ReplaceOptions | mongodb

    Interface ReplaceOptions

    interface ReplaceOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: string | Document;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sort?: Sort;
        timeoutMS?: number;
        upsert?: boolean;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +ReplaceOptions | mongodb

    Interface ReplaceOptions

    interface ReplaceOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: string | Document;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sort?: Sort;
        timeoutMS?: number;
        upsert?: boolean;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    bypassDocumentValidation?: boolean

    If true, allows the write to opt-out of document level validation

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    collation?: CollationOptions

    Specifies a collation

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

    dbName?: string
    enableUtf8Validation?: boolean

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

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

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

    +
    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

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

    -
    maxTimeMS?: number

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

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

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

    +
    maxTimeMS?: number

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    sort?: Sort

    Specifies the sort order for the documents matched by the filter.

    -
    timeoutMS?: number

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

    -
    upsert?: boolean

    When true, creates a new document if no document matches the query

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    sort?: Sort

    Specifies the sort order for the documents matched by the filter.

    +
    timeoutMS?: number

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

    +
    upsert?: boolean

    When true, creates a new document if no document matches the query

    +
    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/SearchIndexDescription.html b/docs/Next/interfaces/SearchIndexDescription.html index 0b099c07720..b8ec7ec0573 100644 --- a/docs/Next/interfaces/SearchIndexDescription.html +++ b/docs/Next/interfaces/SearchIndexDescription.html @@ -1,7 +1,7 @@ -SearchIndexDescription | mongodb

    Interface SearchIndexDescription

    interface SearchIndexDescription {
        definition: Document;
        name?: string;
        type?: string;
    }

    Hierarchy (view full)

    Properties

    definition +SearchIndexDescription | mongodb

    Interface SearchIndexDescription

    interface SearchIndexDescription {
        definition: Document;
        name?: string;
        type?: string;
    }

    Hierarchy (view full)

    Properties

    definition: Document

    The index definition.

    -
    name?: string

    The name of the index.

    -
    type?: string

    The type of the index. Currently search or vectorSearch are supported.

    -
    +
    name?: string

    The name of the index.

    +
    type?: string

    The type of the index. Currently search or vectorSearch are supported.

    +
    diff --git a/docs/Next/interfaces/SelectServerOptions.html b/docs/Next/interfaces/SelectServerOptions.html index 30c24f41a24..f0e92068197 100644 --- a/docs/Next/interfaces/SelectServerOptions.html +++ b/docs/Next/interfaces/SelectServerOptions.html @@ -1,7 +1,7 @@ -SelectServerOptions | mongodb

    Interface SelectServerOptions

    interface SelectServerOptions {
        operationName: string;
        previousServer?: ServerDescription;
        readPreference?: ReadPreferenceLike;
        serverSelectionTimeoutMS?: number;
        session?: ClientSession;
    }

    Properties

    operationName +SelectServerOptions | mongodb

    Interface SelectServerOptions

    interface SelectServerOptions {
        operationName: string;
        previousServer?: ServerDescription;
        readPreference?: ReadPreferenceLike;
        serverSelectionTimeoutMS?: number;
        session?: ClientSession;
    }

    Properties

    operationName: string
    previousServer?: ServerDescription
    readPreference?: ReadPreferenceLike
    serverSelectionTimeoutMS?: number

    How long to block for server selection before throwing an error

    -
    session?: ClientSession
    +

    Properties

    operationName: string
    previousServer?: ServerDescription
    readPreference?: ReadPreferenceLike
    serverSelectionTimeoutMS?: number

    How long to block for server selection before throwing an error

    +
    session?: ClientSession
    diff --git a/docs/Next/interfaces/TimeSeriesCollectionOptions.html b/docs/Next/interfaces/TimeSeriesCollectionOptions.html index 8a7e54dbba0..324d211da48 100644 --- a/docs/Next/interfaces/TimeSeriesCollectionOptions.html +++ b/docs/Next/interfaces/TimeSeriesCollectionOptions.html @@ -1,8 +1,8 @@ TimeSeriesCollectionOptions | mongodb

    Interface TimeSeriesCollectionOptions

    Configuration options for timeseries collections

    interface TimeSeriesCollectionOptions {
        bucketMaxSpanSeconds?: number;
        bucketRoundingSeconds?: number;
        granularity?: string;
        metaField?: string;
        timeField: string;
    }

    Hierarchy (view full)

    Properties

    interface TimeSeriesCollectionOptions {
        bucketMaxSpanSeconds?: number;
        bucketRoundingSeconds?: number;
        granularity?: string;
        metaField?: string;
        timeField: string;
    }

    Hierarchy (view full)

    Properties

    bucketMaxSpanSeconds?: number
    bucketRoundingSeconds?: number
    granularity?: string
    metaField?: string
    timeField: string
    +

    Properties

    bucketMaxSpanSeconds?: number
    bucketRoundingSeconds?: number
    granularity?: string
    metaField?: string
    timeField: string
    diff --git a/docs/Next/interfaces/TransactionOptions.html b/docs/Next/interfaces/TransactionOptions.html index 3169c0cc352..d825db09f4f 100644 --- a/docs/Next/interfaces/TransactionOptions.html +++ b/docs/Next/interfaces/TransactionOptions.html @@ -1,5 +1,5 @@ TransactionOptions | mongodb

    Interface TransactionOptions

    Configuration options for a transaction.

    -
    interface TransactionOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxCommitTimeMS?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern;
    }

    Hierarchy

    Properties

    interface TransactionOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxCommitTimeMS?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern;
    }

    Hierarchy

    Properties

    authdb? bsonRegExp? checkKeys? collation? @@ -11,8 +11,7 @@ ignoreUndefined? maxCommitTimeMS? maxTimeMS? -noResponse? -omitReadPreference? +noResponse? promoteBuffers? promoteLongs? promoteValues? @@ -36,14 +35,15 @@

    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.

    -
    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 note that the driver sets this to false

    true

    maxCommitTimeMS?: number

    Specifies the maximum amount of time to allow a commit action on a transaction to run in milliseconds

    maxTimeMS?: number

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

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean
    writeConcern?: WriteConcern

    A default writeConcern for commands in this transaction

    -
    +
    willRetryWrite?: boolean
    writeConcern?: WriteConcern

    A default writeConcern for commands in this transaction

    +
    diff --git a/docs/Next/interfaces/UpdateManyModel.html b/docs/Next/interfaces/UpdateManyModel.html index 8b3cf4cf14b..ae2c0d0dafd 100644 --- a/docs/Next/interfaces/UpdateManyModel.html +++ b/docs/Next/interfaces/UpdateManyModel.html @@ -1,15 +1,15 @@ -UpdateManyModel | mongodb

    Interface UpdateManyModel<TSchema>

    interface UpdateManyModel<TSchema> {
        arrayFilters?: Document[];
        collation?: CollationOptions;
        filter: Filter<TSchema>;
        hint?: Hint;
        update: Document[] | UpdateFilter<TSchema>;
        upsert?: boolean;
    }

    Type Parameters

    Properties

    arrayFilters? +UpdateManyModel | mongodb

    Interface UpdateManyModel<TSchema>

    interface UpdateManyModel<TSchema> {
        arrayFilters?: Document[];
        collation?: CollationOptions;
        filter: Filter<TSchema>;
        hint?: Hint;
        update: Document[] | UpdateFilter<TSchema>;
        upsert?: boolean;
    }

    Type Parameters

    Properties

    arrayFilters?: Document[]

    A set of filters specifying to which array elements an update should apply.

    -
    collation?: CollationOptions

    Specifies a collation.

    -
    filter: Filter<TSchema>

    The filter to limit the updated documents.

    -
    hint?: Hint

    The index to use. If specified, then the query system will only consider plans using the hinted index.

    -

    The modifications to apply. The value can be either: +

    collation?: CollationOptions

    Specifies a collation.

    +
    filter: Filter<TSchema>

    The filter to limit the updated documents.

    +
    hint?: Hint

    The index to use. If specified, then the query system will only consider plans using the hinted index.

    +

    The modifications to apply. The value can be either: UpdateFilter - A document that contains update operator expressions, Document[] - an aggregation pipeline.

    -
    upsert?: boolean

    When true, creates a new document if no document matches the query.

    -
    +
    upsert?: boolean

    When true, creates a new document if no document matches the query.

    +
    diff --git a/docs/Next/interfaces/UpdateOneModel.html b/docs/Next/interfaces/UpdateOneModel.html index 9942d715c7b..20a92b96a21 100644 --- a/docs/Next/interfaces/UpdateOneModel.html +++ b/docs/Next/interfaces/UpdateOneModel.html @@ -1,4 +1,4 @@ -UpdateOneModel | mongodb

    Interface UpdateOneModel<TSchema>

    interface UpdateOneModel<TSchema> {
        arrayFilters?: Document[];
        collation?: CollationOptions;
        filter: Filter<TSchema>;
        hint?: Hint;
        sort?: Sort;
        update: Document[] | UpdateFilter<TSchema>;
        upsert?: boolean;
    }

    Type Parameters

    Properties

    arrayFilters? +UpdateOneModel | mongodb

    Interface UpdateOneModel<TSchema>

    interface UpdateOneModel<TSchema> {
        arrayFilters?: Document[];
        collation?: CollationOptions;
        filter: Filter<TSchema>;
        hint?: Hint;
        sort?: Sort;
        update: Document[] | UpdateFilter<TSchema>;
        upsert?: boolean;
    }

    Type Parameters

    Properties

    Properties

    arrayFilters?: Document[]

    A set of filters specifying to which array elements an update should apply.

    -
    collation?: CollationOptions

    Specifies a collation.

    -
    filter: Filter<TSchema>

    The filter that specifies which document to update. In the case of multiple matches, the first document matched is updated.

    -
    hint?: Hint

    The index to use. If specified, then the query system will only consider plans using the hinted index.

    -
    sort?: Sort

    Specifies the sort order for the documents matched by the filter.

    -

    The modifications to apply. The value can be either: +

    collation?: CollationOptions

    Specifies a collation.

    +
    filter: Filter<TSchema>

    The filter that specifies which document to update. In the case of multiple matches, the first document matched is updated.

    +
    hint?: Hint

    The index to use. If specified, then the query system will only consider plans using the hinted index.

    +
    sort?: Sort

    Specifies the sort order for the documents matched by the filter.

    +

    The modifications to apply. The value can be either: UpdateFilter - A document that contains update operator expressions, Document[] - an aggregation pipeline.

    -
    upsert?: boolean

    When true, creates a new document if no document matches the query.

    -
    +
    upsert?: boolean

    When true, creates a new document if no document matches the query.

    +
    diff --git a/docs/Next/interfaces/UpdateOptions.html b/docs/Next/interfaces/UpdateOptions.html index d88a1b44e43..e23a333723d 100644 --- a/docs/Next/interfaces/UpdateOptions.html +++ b/docs/Next/interfaces/UpdateOptions.html @@ -1,4 +1,4 @@ -UpdateOptions | mongodb

    Interface UpdateOptions

    interface UpdateOptions {
        arrayFilters?: Document[];
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        upsert?: boolean;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    arrayFilters? +UpdateOptions | mongodb

    Interface UpdateOptions

    interface UpdateOptions {
        arrayFilters?: Document[];
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        upsert?: boolean;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    arrayFilters?: Document[]

    A set of filters specifying to which array elements an update should apply

    -
    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +
    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    bypassDocumentValidation?: boolean

    If true, allows the write to opt-out of document level validation

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    collation?: CollationOptions

    Specifies a collation

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

    dbName?: string
    enableUtf8Validation?: boolean

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

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

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

    +
    fieldsAsRaw?: Document

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

    null

    hint?: Hint

    Specify that the update query should only consider plans using the hinted index

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

    -
    maxTimeMS?: number

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

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

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

    +
    maxTimeMS?: number

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    timeoutMS?: number

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

    -
    upsert?: boolean

    When true, creates a new document if no document matches the query

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    timeoutMS?: number

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

    +
    upsert?: boolean

    When true, creates a new document if no document matches the query

    +
    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/UpdateResult.html b/docs/Next/interfaces/UpdateResult.html index 5d25081f857..f89263778c3 100644 --- a/docs/Next/interfaces/UpdateResult.html +++ b/docs/Next/interfaces/UpdateResult.html @@ -1,12 +1,12 @@ UpdateResult | mongodb

    Interface UpdateResult<TSchema>

    TSchema is the schema of the collection

    -
    interface UpdateResult<TSchema> {
        acknowledged: boolean;
        matchedCount: number;
        modifiedCount: number;
        upsertedCount: number;
        upsertedId: null | InferIdType<TSchema>;
    }

    Type Parameters

    Properties

    interface UpdateResult<TSchema> {
        acknowledged: boolean;
        matchedCount: number;
        modifiedCount: number;
        upsertedCount: number;
        upsertedId: null | InferIdType<TSchema>;
    }

    Type Parameters

    Properties

    acknowledged: boolean

    Indicates whether this write result was acknowledged. If not, then all other members of this result will be undefined

    -
    matchedCount: number

    The number of documents that matched the filter

    -
    modifiedCount: number

    The number of documents that were modified

    -
    upsertedCount: number

    The number of documents that were upserted

    -
    upsertedId: null | InferIdType<TSchema>

    The identifier of the inserted document if an upsert took place

    -
    +
    matchedCount: number

    The number of documents that matched the filter

    +
    modifiedCount: number

    The number of documents that were modified

    +
    upsertedCount: number

    The number of documents that were upserted

    +
    upsertedId: null | InferIdType<TSchema>

    The identifier of the inserted document if an upsert took place

    +
    diff --git a/docs/Next/interfaces/UpdateStatement.html b/docs/Next/interfaces/UpdateStatement.html index ba5bf877dae..700a6470f3a 100644 --- a/docs/Next/interfaces/UpdateStatement.html +++ b/docs/Next/interfaces/UpdateStatement.html @@ -1,4 +1,4 @@ -UpdateStatement | mongodb

    Interface UpdateStatement

    interface UpdateStatement {
        arrayFilters?: Document[];
        collation?: CollationOptions;
        hint?: Hint;
        multi?: boolean;
        q: Document;
        sort?: SortForCmd;
        u: Document | Document[];
        upsert?: boolean;
    }

    Properties

    arrayFilters? +UpdateStatement | mongodb

    Interface UpdateStatement

    interface UpdateStatement {
        arrayFilters?: Document[];
        collation?: CollationOptions;
        hint?: Hint;
        multi?: boolean;
        q: Document;
        sort?: SortForCmd;
        u: Document | Document[];
        upsert?: boolean;
    }

    Properties

    Properties

    arrayFilters?: Document[]

    An array of filter documents that determines which array elements to modify for an update operation on an array field.

    -
    collation?: CollationOptions

    Specifies the collation to use for the operation.

    -
    hint?: Hint

    A document or string that specifies the index to use to support the query predicate.

    -
    multi?: boolean

    If true, updates all documents that meet the query criteria.

    -

    The query that matches documents to update.

    -
    sort?: SortForCmd

    Specifies the sort order for the documents matched by the filter.

    -

    The modifications to apply.

    -
    upsert?: boolean

    If true, perform an insert if no documents match the query.

    -
    +
    collation?: CollationOptions

    Specifies the collation to use for the operation.

    +
    hint?: Hint

    A document or string that specifies the index to use to support the query predicate.

    +
    multi?: boolean

    If true, updates all documents that meet the query criteria.

    +

    The query that matches documents to update.

    +
    sort?: SortForCmd

    Specifies the sort order for the documents matched by the filter.

    +

    The modifications to apply.

    +
    upsert?: boolean

    If true, perform an insert if no documents match the query.

    +
    diff --git a/docs/Next/interfaces/ValidateCollectionOptions.html b/docs/Next/interfaces/ValidateCollectionOptions.html index e0d178c2af4..97e8d97d19e 100644 --- a/docs/Next/interfaces/ValidateCollectionOptions.html +++ b/docs/Next/interfaces/ValidateCollectionOptions.html @@ -1,4 +1,4 @@ -ValidateCollectionOptions | mongodb

    Interface ValidateCollectionOptions

    interface ValidateCollectionOptions {
        authdb?: string;
        background?: boolean;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +ValidateCollectionOptions | mongodb

    Interface ValidateCollectionOptions

    interface ValidateCollectionOptions {
        authdb?: string;
        background?: boolean;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? background? bsonRegExp? checkKeys? @@ -10,8 +10,7 @@ fieldsAsRaw? ignoreUndefined? maxTimeMS? -noResponse? -omitReadPreference? +noResponse? promoteBuffers? promoteLongs? promoteValues? @@ -37,13 +36,14 @@

    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.

    -
    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 note that the driver sets this to false

    true

    maxTimeMS?: number

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

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

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

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

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

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    +
    retryWrites?: boolean

    Should retry failed writes

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    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.

    +
    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/WriteConcernErrorData.html b/docs/Next/interfaces/WriteConcernErrorData.html index ceb054b831d..5b17c7e0404 100644 --- a/docs/Next/interfaces/WriteConcernErrorData.html +++ b/docs/Next/interfaces/WriteConcernErrorData.html @@ -1,4 +1,4 @@ -WriteConcernErrorData | mongodb

    Interface WriteConcernErrorData

    interface WriteConcernErrorData {
        code: number;
        errInfo?: Document;
        errmsg: string;
    }

    Properties

    code +WriteConcernErrorData | mongodb

    Interface WriteConcernErrorData

    interface WriteConcernErrorData {
        code: number;
        errInfo?: Document;
        errmsg: string;
    }

    Properties

    Properties

    code: number
    errInfo?: Document
    errmsg: string
    +

    Properties

    code: number
    errInfo?: Document
    errmsg: string
    diff --git a/docs/Next/modules.html b/docs/Next/modules.html index 94e7298ae12..9bff82c4951 100644 --- a/docs/Next/modules.html +++ b/docs/Next/modules.html @@ -226,6 +226,7 @@ FindOneAndDeleteOptions FindOneAndReplaceOptions FindOneAndUpdateOptions +FindOneOptions FindOptions GCPEncryptionKeyOptions GridFSBucketOptions diff --git a/docs/Next/types/AnyBulkWriteOperation.html b/docs/Next/types/AnyBulkWriteOperation.html index b585d5bbd95..8a43a9fb5ee 100644 --- a/docs/Next/types/AnyBulkWriteOperation.html +++ b/docs/Next/types/AnyBulkWriteOperation.html @@ -1 +1 @@ -AnyBulkWriteOperation | mongodb

    Type Alias AnyBulkWriteOperation<TSchema>

    AnyBulkWriteOperation<TSchema>:
        | {
            insertOne: InsertOneModel<TSchema>;
        }
        | {
            replaceOne: ReplaceOneModel<TSchema>;
        }
        | {
            updateOne: UpdateOneModel<TSchema>;
        }
        | {
            updateMany: UpdateManyModel<TSchema>;
        }
        | {
            deleteOne: DeleteOneModel<TSchema>;
        }
        | {
            deleteMany: DeleteManyModel<TSchema>;
        }

    Type Parameters

    +AnyBulkWriteOperation | mongodb

    Type Alias AnyBulkWriteOperation<TSchema>

    AnyBulkWriteOperation<TSchema>:
        | {
            insertOne: InsertOneModel<TSchema>;
        }
        | {
            replaceOne: ReplaceOneModel<TSchema>;
        }
        | {
            updateOne: UpdateOneModel<TSchema>;
        }
        | {
            updateMany: UpdateManyModel<TSchema>;
        }
        | {
            deleteOne: DeleteOneModel<TSchema>;
        }
        | {
            deleteMany: DeleteManyModel<TSchema>;
        }

    Type Parameters

    diff --git a/docs/Next/types/BatchType.html b/docs/Next/types/BatchType.html index 70856016bcf..d107fe90341 100644 --- a/docs/Next/types/BatchType.html +++ b/docs/Next/types/BatchType.html @@ -1 +1 @@ -BatchType | mongodb

    Type Alias BatchType

    BatchType: typeof BatchType[keyof typeof BatchType]
    +BatchType | mongodb

    Type Alias BatchType

    BatchType: typeof BatchType[keyof typeof BatchType]
    diff --git a/docs/Next/types/ClientEncryptionTlsOptions.html b/docs/Next/types/ClientEncryptionTlsOptions.html index 5ee1082e146..0bccadddac6 100644 --- a/docs/Next/types/ClientEncryptionTlsOptions.html +++ b/docs/Next/types/ClientEncryptionTlsOptions.html @@ -1,4 +1,4 @@ -ClientEncryptionTlsOptions | mongodb

    Type Alias ClientEncryptionTlsOptions

    ClientEncryptionTlsOptions: Pick<MongoClientOptions, "tlsCAFile" | "tlsCertificateKeyFile" | "tlsCertificateKeyFilePassword">

    TLS options to use when connecting. The spec specifically calls out which insecure +ClientEncryptionTlsOptions | mongodb

    Type Alias ClientEncryptionTlsOptions

    ClientEncryptionTlsOptions: Pick<MongoClientOptions,
        | "tlsCAFile"
        | "tlsCertificateKeyFile"
        | "tlsCertificateKeyFilePassword"
        | "secureContext">

    TLS options to use when connecting. The spec specifically calls out which insecure tls options are not allowed:

    • tlsAllowInvalidCertificates
    • diff --git a/docs/Next/types/ConnectionEvents.html b/docs/Next/types/ConnectionEvents.html index 28f83070056..a877d582df2 100644 --- a/docs/Next/types/ConnectionEvents.html +++ b/docs/Next/types/ConnectionEvents.html @@ -1 +1 @@ -ConnectionEvents | mongodb

      Type Alias ConnectionEvents

      ConnectionEvents: {
          close(): void;
          clusterTimeReceived(clusterTime: Document): void;
          commandFailed(event: CommandFailedEvent): void;
          commandStarted(event: CommandStartedEvent): void;
          commandSucceeded(event: CommandSucceededEvent): void;
          pinned(pinType: string): void;
          unpinned(pinType: string): void;
      }
      +ConnectionEvents | mongodb

      Type Alias ConnectionEvents

      ConnectionEvents: {
          close(): void;
          clusterTimeReceived(clusterTime: Document): void;
          commandFailed(event: CommandFailedEvent): void;
          commandStarted(event: CommandStartedEvent): void;
          commandSucceeded(event: CommandSucceededEvent): void;
          pinned(pinType: string): void;
          unpinned(pinType: string): void;
      }
      diff --git a/docs/Next/types/DropDatabaseOptions.html b/docs/Next/types/DropDatabaseOptions.html index ce4c2f229eb..0fb23fc05e6 100644 --- a/docs/Next/types/DropDatabaseOptions.html +++ b/docs/Next/types/DropDatabaseOptions.html @@ -1 +1 @@ -DropDatabaseOptions | mongodb

      Type Alias DropDatabaseOptions

      DropDatabaseOptions: CommandOperationOptions
      +DropDatabaseOptions | mongodb

      Type Alias DropDatabaseOptions

      DropDatabaseOptions: CommandOperationOptions
      diff --git a/docs/Next/types/DropIndexesOptions.html b/docs/Next/types/DropIndexesOptions.html index 5566e288a40..8e73d66e4d7 100644 --- a/docs/Next/types/DropIndexesOptions.html +++ b/docs/Next/types/DropIndexesOptions.html @@ -1 +1 @@ -DropIndexesOptions | mongodb

      Type Alias DropIndexesOptions

      DropIndexesOptions: CommandOperationOptions
      +DropIndexesOptions | mongodb

      Type Alias DropIndexesOptions

      DropIndexesOptions: CommandOperationOptions
      diff --git a/docs/Next/types/ExplainVerbosity.html b/docs/Next/types/ExplainVerbosity.html index df56fda9140..1b61e78afae 100644 --- a/docs/Next/types/ExplainVerbosity.html +++ b/docs/Next/types/ExplainVerbosity.html @@ -1 +1 @@ -ExplainVerbosity | mongodb

      Type Alias ExplainVerbosity

      ExplainVerbosity: string
      +ExplainVerbosity | mongodb

      Type Alias ExplainVerbosity

      ExplainVerbosity: string
      diff --git a/docs/Next/types/ExplainVerbosityLike.html b/docs/Next/types/ExplainVerbosityLike.html index 6fe24246494..070a1a6a302 100644 --- a/docs/Next/types/ExplainVerbosityLike.html +++ b/docs/Next/types/ExplainVerbosityLike.html @@ -1,3 +1,3 @@ ExplainVerbosityLike | mongodb

      Type Alias ExplainVerbosityLike

      ExplainVerbosityLike: ExplainVerbosity | boolean

      For backwards compatibility, true is interpreted as "allPlansExecution" and false as "queryPlanner".

      -
      +
    diff --git a/docs/Next/types/Hint.html b/docs/Next/types/Hint.html index 58f0fe97a37..b1e3bed1fec 100644 --- a/docs/Next/types/Hint.html +++ b/docs/Next/types/Hint.html @@ -1 +1 @@ -Hint | mongodb

    Type Alias Hint

    Hint: string | Document
    +Hint | mongodb

    Type Alias Hint

    Hint: string | Document
    diff --git a/docs/Next/types/IndexDescriptionCompact.html b/docs/Next/types/IndexDescriptionCompact.html index 72395369f56..dc2d4498850 100644 --- a/docs/Next/types/IndexDescriptionCompact.html +++ b/docs/Next/types/IndexDescriptionCompact.html @@ -1 +1 @@ -IndexDescriptionCompact | mongodb

    Type Alias IndexDescriptionCompact

    IndexDescriptionCompact: Record<string, [name: string, direction: IndexDirection][]>
    +IndexDescriptionCompact | mongodb

    Type Alias IndexDescriptionCompact

    IndexDescriptionCompact: Record<string, [name: string, direction: IndexDirection][]>
    diff --git a/docs/Next/types/IndexDescriptionInfo.html b/docs/Next/types/IndexDescriptionInfo.html index 2020bb63c2e..d121a5296b5 100644 --- a/docs/Next/types/IndexDescriptionInfo.html +++ b/docs/Next/types/IndexDescriptionInfo.html @@ -1,2 +1,2 @@ IndexDescriptionInfo | mongodb

    Type Alias IndexDescriptionInfo

    IndexDescriptionInfo: Omit<IndexDescription, "key" | "version"> & {
        key: {
            [key: string]: IndexDirection;
        };
        v?: IndexDescription["version"];
    } & Document
    +
    diff --git a/docs/Next/types/IndexDirection.html b/docs/Next/types/IndexDirection.html index 941592af40c..98d5a291ec2 100644 --- a/docs/Next/types/IndexDirection.html +++ b/docs/Next/types/IndexDirection.html @@ -1 +1 @@ -IndexDirection | mongodb

    Type Alias IndexDirection

    IndexDirection:
        | -1
        | 1
        | "2d"
        | "2dsphere"
        | "text"
        | "geoHaystack"
        | "hashed"
        | number
    +IndexDirection | mongodb

    Type Alias IndexDirection

    IndexDirection:
        | -1
        | 1
        | "2d"
        | "2dsphere"
        | "text"
        | "geoHaystack"
        | "hashed"
        | number
    diff --git a/docs/Next/types/IndexSpecification.html b/docs/Next/types/IndexSpecification.html index 4ea5010c63f..b63cf97f05b 100644 --- a/docs/Next/types/IndexSpecification.html +++ b/docs/Next/types/IndexSpecification.html @@ -1 +1 @@ -IndexSpecification | mongodb

    Type Alias IndexSpecification

    IndexSpecification: OneOrMore<
        | string
        | [string, IndexDirection]
        | {
            [key: string]: IndexDirection;
        }
        | Map<string, IndexDirection>>
    +IndexSpecification | mongodb

    Type Alias IndexSpecification

    IndexSpecification: OneOrMore<
        | string
        | [string, IndexDirection]
        | {
            [key: string]: IndexDirection;
        }
        | Map<string, IndexDirection>>
    diff --git a/docs/Next/types/ListIndexesOptions.html b/docs/Next/types/ListIndexesOptions.html index 074d11a9bb5..ee9ff0e0a90 100644 --- a/docs/Next/types/ListIndexesOptions.html +++ b/docs/Next/types/ListIndexesOptions.html @@ -1 +1 @@ -ListIndexesOptions | mongodb

    Type Alias ListIndexesOptions

    ListIndexesOptions: AbstractCursorOptions & {}
    +ListIndexesOptions | mongodb

    Type Alias ListIndexesOptions

    ListIndexesOptions: AbstractCursorOptions & {}
    diff --git a/docs/Next/types/ServerEvents.html b/docs/Next/types/ServerEvents.html index 352d4a49f91..8ef417243b0 100644 --- a/docs/Next/types/ServerEvents.html +++ b/docs/Next/types/ServerEvents.html @@ -1 +1 @@ -ServerEvents | mongodb

    Type Alias ServerEvents

    ServerEvents: {
        closed(): void;
        descriptionReceived(description: ServerDescription): void;
        ended(): void;
        serverHeartbeatFailed(event: ServerHeartbeatFailedEvent): void;
        serverHeartbeatStarted(event: ServerHeartbeatStartedEvent): void;
        serverHeartbeatSucceeded(event: ServerHeartbeatSucceededEvent): void;
    } & ConnectionPoolEvents & EventEmitterWithState
    +ServerEvents | mongodb

    Type Alias ServerEvents

    ServerEvents: {
        closed(): void;
        descriptionReceived(description: ServerDescription): void;
        ended(): void;
        serverHeartbeatFailed(event: ServerHeartbeatFailedEvent): void;
        serverHeartbeatStarted(event: ServerHeartbeatStartedEvent): void;
        serverHeartbeatSucceeded(event: ServerHeartbeatSucceededEvent): void;
    } & ConnectionPoolEvents & EventEmitterWithState
    diff --git a/docs/Next/types/TopologyEvents.html b/docs/Next/types/TopologyEvents.html index 88633c36c38..e850534c069 100644 --- a/docs/Next/types/TopologyEvents.html +++ b/docs/Next/types/TopologyEvents.html @@ -1 +1 @@ -TopologyEvents | mongodb

    Type Alias TopologyEvents

    TopologyEvents: {
        close(): void;
        error(error: Error): void;
        serverClosed(event: ServerClosedEvent): void;
        serverDescriptionChanged(event: ServerDescriptionChangedEvent): void;
        serverOpening(event: ServerOpeningEvent): void;
        timeout(): void;
        topologyClosed(event: TopologyClosedEvent): void;
        topologyDescriptionChanged(event: TopologyDescriptionChangedEvent): void;
        topologyOpening(event: TopologyOpeningEvent): void;
    } & Omit<ServerEvents, "connect"> & ConnectionPoolEvents & ConnectionEvents & EventEmitterWithState
    +TopologyEvents | mongodb

    Type Alias TopologyEvents

    TopologyEvents: {
        close(): void;
        error(error: Error): void;
        serverClosed(event: ServerClosedEvent): void;
        serverDescriptionChanged(event: ServerDescriptionChangedEvent): void;
        serverOpening(event: ServerOpeningEvent): void;
        timeout(): void;
        topologyClosed(event: TopologyClosedEvent): void;
        topologyDescriptionChanged(event: TopologyDescriptionChangedEvent): void;
        topologyOpening(event: TopologyOpeningEvent): void;
    } & Omit<ServerEvents, "connect"> & ConnectionPoolEvents & ConnectionEvents & EventEmitterWithState
    diff --git a/docs/Next/variables/BatchType-1.html b/docs/Next/variables/BatchType-1.html index 023e8102b54..4aea68843e2 100644 --- a/docs/Next/variables/BatchType-1.html +++ b/docs/Next/variables/BatchType-1.html @@ -1 +1 @@ -BatchType | mongodb

    Variable BatchTypeConst

    BatchType: Readonly<{
        DELETE: 3;
        INSERT: 1;
        UPDATE: 2;
    }> = ...
    +BatchType | mongodb

    Variable BatchTypeConst

    BatchType: Readonly<{
        DELETE: 3;
        INSERT: 1;
        UPDATE: 2;
    }> = ...
    diff --git a/docs/Next/variables/ExplainVerbosity-1.html b/docs/Next/variables/ExplainVerbosity-1.html index 39a5ab245eb..5a6c3943f87 100644 --- a/docs/Next/variables/ExplainVerbosity-1.html +++ b/docs/Next/variables/ExplainVerbosity-1.html @@ -1 +1 @@ -ExplainVerbosity | mongodb

    Variable ExplainVerbosityConst

    ExplainVerbosity: Readonly<{
        allPlansExecution: "allPlansExecution";
        executionStats: "executionStats";
        queryPlanner: "queryPlanner";
        queryPlannerExtended: "queryPlannerExtended";
    }> = ...
    +ExplainVerbosity | mongodb

    Variable ExplainVerbosityConst

    ExplainVerbosity: Readonly<{
        allPlansExecution: "allPlansExecution";
        executionStats: "executionStats";
        queryPlanner: "queryPlanner";
        queryPlannerExtended: "queryPlannerExtended";
    }> = ...
    diff --git a/docs/index.html b/docs/index.html index 00b52631041..90d0a8c8c53 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,7 +1,7 @@ - +