I carefully read the Typescript section in the documentation, and static methods started working for me, but the query assistants did not work. An error occurred: Property 'isAbsent' does not exist on type '{}'. After spending a lot of time, I gave up and decided to create a question. I initially created universal types for static methods and query helpers, which I connected via a global plugin. And then I passed the schema interface to the generic, which was inherited from Document. In general, the question could be called 'How to add static methods or query helpers globally, without getting into each model and not duplicating generics in interfaces', but most likely this cannot be done).
import mongoose from "mongoose";
import addStatic from './addStatic.plugin'
import addQuerieHelpers from './addStatic.plugin'
mongoose.plugin(addStatic)
mongoose.plugin(addQuerieHelpers)
Mongoose version
8.5.2
Node.js version
v20.13.1
MongoDB version
7.0
I carefully read the Typescript section in the documentation, and static methods started working for me, but the query assistants did not work. An error occurred: Property 'isAbsent' does not exist on type '{}'. After spending a lot of time, I gave up and decided to create a question. I initially created universal types for static methods and query helpers, which I connected via a global plugin. And then I passed the schema interface to the generic, which was inherited from Document. In general, the question could be called 'How to add static methods or query helpers globally, without getting into each model and not duplicating generics in interfaces', but most likely this cannot be done).
My attempt ⬇️⬇️⬇️ ./querieHelpers.type
./static.type
./addQuerieHelpers.plugin
./addStatic.plugin
./findOneEnabled.static
./isAbsent.qh
./model
./index