mongodb - 访问声明的类中的静态方法
问题描述
我将 TypeORM 与 MongoDB 一起使用。TypeORMObjectID
为 id 字段提供了一个类。该类还提供了一个静态isValid
方法。该类的当前实现(来自 node_modules)是
在运行时我想使用静态方法。所以基本上我在做
import { ObjectID } from 'typeorm';
export class MyClass {
public doSomething(value: any): void {
const validObjectId: boolean = ObjectID.isValid(value);
// ...
}
}
但我得到了ObjectID
未定义的错误。当然我不能从中创建一个新实例,因为那样我就不能再使用静态方法了。
我试图重现这个问题,我的自定义类代表 MongoDB 的ObjectID
类
export declare class MyCustomObjectId {
static isValid(): boolean;
}
接下来我想在启动时使用它
import { MyCustomObjectId } from './myCustomObjectId';
MyCustomObjectId.isValid();
应用程序崩溃,因为MyCustomObjectId
再次未定义。我怎样才能使用那个类?我需要访问 TypeORM 的静态验证方法。
解决方案
看来我必须使用
import { ObjectID } from 'mongodb';
代替
import { ObjectID } from 'typeorm';
然后我可以访问静态方法。
推荐阅读
- r - 聚合数值列的前 3 个值
- kubernetes - 是否有一种云原生友好的方法可以在副本中选择主节点?
- apache-spark - 当我们没有数据框的大小时,我们如何快速从 PySpark 中的大数据中采样?
- c++ - `const` 和例如 `int` 的顺序在 C 中是否有所不同?
- python - 沿两个不同大小数组的共享维度进行元素乘法的优雅方法?
- c# - 如何更有效地格式化 DataGridView 中的单元格
- python - 初学者尝试学习python
- html - :not 与其实际用法相反
- azure - ARM 模板创建存储帐户和应用服务时出错
- amazon-web-services - AWS SAM & Parameter Store:如何选择参数以部署到不同的环境中