我有Mongoose
schema和model:
var MyClientSchema = new mongoose.Schema({
fist_name: {
type: String
},
phone_number: {
type: String
}
});
var MyClient = mongoose.model('MyClient', MyClientSchema);
**我应该如何记录(使用JSDoc)MyClient
和/或MyClientSchema
,以从WebStorm
获得制表符完成和类型建议对于继承自mongoose.model
(如remove, findOne, find
)和继承自schema(如phone_number and first_name
)的两个方法,如phone_number and first_name
?
3条答案
按热度按时间h79rfbju1#
我发现
@class
(或其同义词@constructor
)适用于模式属性:@alias
适用于以旧方式声明的方法:但是,如果使用新的方法声明方法,则可以将所有方法一次性标记为
MyClient
的一部分**:以上所有内容都在最新的WebStorm版本(2018年)中进行了测试。2).它工作。
不起作用的东西:
.find()
或.save()
.methods
语法突出显示可以工作,但代码完成不能。欢迎更新!
v2g6jxz62#
虽然它可能不符合您的特定要求,但官方文档中的这篇喷气式大脑教程解释了您所需要的大部分内容
https://www.jetbrains.com/help/webstorm/2017.1/creating-jsdoc-comments.html
例如,
下面的js可能是你做几乎所有你需要的事情的指南
http://nagyv.github.io/estisia-wall/models.js.html
xuo3flqw3#
对我来说,它的工作原理很简单:
需要注意的是,您不会从模式的类型中获得
phone_number and first_name
,而是从定义文档的MyClient.schema.obj
类型中获得。