Skip to content

Commit 4d7f71d

Browse files
authored
Merge pull request #14153 from Automattic/vkarpov15/gh-14130
types: make findOneAndDelete() without options return result doc, not ModifyResult
2 parents cc46cfb + ffdb091 commit 4d7f71d

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

test/types/models.test.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -854,6 +854,15 @@ async function gh14003() {
854854
await TestModel.validate({ name: 'foo' }, { pathsToSkip: ['name'] });
855855
}
856856

857+
async function gh14114() {
858+
const schema = new mongoose.Schema({ name: String });
859+
const Test = mongoose.model('Test', schema);
860+
861+
expectType<ReturnType<(typeof Test)['hydrate']> | null>(
862+
await Test.findOneAndDelete({ name: 'foo' })
863+
);
864+
}
865+
857866
async function gh13999() {
858867
class RepositoryBase<T> {
859868
protected model: mongoose.Model<T>;
@@ -867,5 +876,4 @@ async function gh13999() {
867876
return elems;
868877
}
869878
}
870-
871879
}

types/models.d.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -612,11 +612,11 @@ declare module 'mongoose' {
612612
'findOneAndDelete'
613613
>;
614614
findOneAndDelete<ResultDoc = THydratedDocumentType>(
615-
filter?: FilterQuery<TRawDocType>,
616-
options?: QueryOptions<TRawDocType> & { includeResultMetadata: true }
615+
filter: FilterQuery<TRawDocType>,
616+
options: QueryOptions<TRawDocType> & { includeResultMetadata: true }
617617
): QueryWithHelpers<ModifyResult<ResultDoc>, ResultDoc, TQueryHelpers, TRawDocType, 'findOneAndDelete'>;
618618
findOneAndDelete<ResultDoc = THydratedDocumentType>(
619-
filter?: FilterQuery<TRawDocType>,
619+
filter?: FilterQuery<TRawDocType> | null,
620620
options?: QueryOptions<TRawDocType> | null
621621
): QueryWithHelpers<ResultDoc | null, ResultDoc, TQueryHelpers, TRawDocType, 'findOneAndDelete'>;
622622

0 commit comments

Comments
 (0)