@@ -65,6 +65,7 @@ import type {
65
65
HandleOptions,
66
66
PongoCollection,
67
67
PongoFilter,
68
+ FindOptions as PongoFindOptions,
68
69
PongoHandleResult,
69
70
OptionalUnlessRequiredId as PongoOptionalUnlessRequiredId,
70
71
PongoSession,
@@ -79,6 +80,28 @@ const toCollectionOperationOptions = (
79
80
? { session: options.session as unknown as PongoSession }
80
81
: undefined;
81
82
83
+ const toFindOptions = (
84
+ options: FindOptions | undefined,
85
+ ): PongoFindOptions | undefined => {
86
+ if (!options?.session && !options?.limit && !options?.skip) {
87
+ return undefined;
88
+ }
89
+
90
+ const pongoFindOptions: PongoFindOptions = {};
91
+
92
+ if (options?.session) {
93
+ pongoFindOptions.session = options.session as unknown as PongoSession;
94
+ }
95
+ if (options?.limit !== undefined) {
96
+ pongoFindOptions.limit = options.limit;
97
+ }
98
+ if (options?.skip !== undefined) {
99
+ pongoFindOptions.skip = options.skip;
100
+ }
101
+
102
+ return pongoFindOptions;
103
+ };
104
+
82
105
export class Collection<T extends Document> implements MongoCollection<T > {
83
106
private collection: PongoCollection<T >;
84
107
@@ -271,10 +294,7 @@ export class Collection<T extends Document> implements MongoCollection<T> {
271
294
options?: FindOptions<Document >,
272
295
): MongoFindCursor<WithId <T>> | MongoFindCursor<T > {
273
296
return new FindCursor(
274
- this.collection.find(
275
- filter as PongoFilter<T >,
276
- toCollectionOperationOptions(options),
277
- ),
297
+ this.collection.find(filter as PongoFilter<T >, toFindOptions(options)),
278
298
) as unknown as MongoFindCursor<T >;
279
299
}
280
300
options(_options?: OperationOptions): Promise<Document > {
0 commit comments