I want to be able to have JSDoc understand Mongoose Schemas so I can use the types in @param, @returns, and @type. I managed to achieve that using this question. This works great:
/**
* @class TheModel
*/
const theSchema = new Schema({
. . .
});
The problem is, we left the _id off the schemas because they're implicit, but this means JSDoc doesn't know about them, and gives warnings if you try to access _id on a document.
How can I tell JSDoc about the extra _id field that it should include, despite it not being on the schema?
I tried creating a @mixin MongooseModel with @property for _id, and then changing my docs to:
/**
* @class TheModel
* @mixes MongooseModel
*/
const theSchema = new Schema({
. . .
});
And along a similar vein, I tried creating a @interface with an _id field, and then adding @implements to the schema docs. Neither works. Webstorm does not give suggestions for _id.
I would prefer not to add a _id field to the schema since that requires the _id to be included when creating documents.
WebStorm 2023.1.2