首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Typescript typeorm:如何获取注释参数

Typescript typeorm:如何获取注释参数
EN

Stack Overflow用户
提问于 2020-06-22 23:22:13
回答 1查看 731关注 0票数 0

我们在我们的项目中使用了typeorm,并且拥有这样的实体:

代码语言:javascript
复制
@Entity({ name: 'contacts', database: Schemas.interfax75 })
export class OutgoingLog {
    @PrimaryGeneratedColumn({ name: 'TransactionID' })
    transactionId: number;
    @Column({ name: 'SubmitTime', type: 'datetime', default: '0000-00-00 00:00:00' })
    submitTime: Date;
    // more properties here
}

我想要获取注释的name属性。因此,知道属性名transactionId后,我希望获得字符串TransactionID。可以用typescript来做吗?

我知道有reflect-metadata包,但它的文档非常糟糕,我真的不能理解是否可以使用它。

这就是生成的js代码。

代码语言:javascript
复制
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};

//...
__decorate([
    typeorm_1.PrimaryGeneratedColumn({ name: 'TransactionID' }),
    __metadata("design:type", Number)
], OutgoingLog.prototype, "transactionId", void 0);
EN

回答 1

Stack Overflow用户

发布于 2020-06-22 23:34:02

您可以简单地使用TypeORM接口

代码语言:javascript
复制
getConnection()
  .getMetadata(OutgoingLog)
  .ownColumns
  .map(column => {
    // Do what you want with column
    // For example, log it into console
    // And check all fields — `properyName` and others
    console.log(column)
  })

我的建议来源- https://github.com/typeorm/typeorm/issues/1764

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62517854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档