mongodb - 访问声明的类中的静态方法

标签 mongodb typescript typeorm

我将 TypeORM 与 MongoDB 一起使用。 TypeORM 提供了 ObjectID id 字段的类。该类还提供了一个静态的 isValid方法。该类的当前实现(来自 node_modules)是

enter image description here

在运行时我想使用静态方法。所以基本上我在做

import { ObjectID } from 'typeorm';

export class MyClass {
  public doSomething(value: any): void {
    const validObjectId: boolean = ObjectID.isValid(value);

    // ...
  }
}

但我收到了 ObjectID 的错误未定义。当然我不能从中创建一个新实例,因为那样我就不能再使用静态方法了。

我试图重现该问题,我的自定义类代表 MongoDB 的 ObjectID类(class)
export declare class MyCustomObjectId {
  static isValid(): boolean;
}

接下来我想在启动时使用它
import { MyCustomObjectId } from './myCustomObjectId';

MyCustomObjectId.isValid();

应用程序崩溃是因为 MyCustomObjectId再次未定义。我怎样才能使用那个类?我需要访问 TypeORM 的静态验证方法。

最佳答案

看来我必须使用
import { ObjectID } from 'mongodb';
代替
import { ObjectID } from 'typeorm';
然后我可以访问静态方法。

关于mongodb - 访问声明的类中的静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60322184/

相关文章:

typescript - Typescript 中枚举值的 Symbol.iterator

typeorm - 使用 TypeOrm 找不到 "User"的元数据

node.js - TypeORM 选择所有行但限制 25

node.js - 确保mongodb索引唯一

mongodb - mongodb 中数组元素的搜索查询

javascript - Node mongodb-native : insert an array of strings as documents

node.js - 无法连接到 mongodb

typescript - 访问父组件中的属性

typescript - 想要强制一个特定类型的函数,但想要在 TypeScript 中有一个默认值

typescript - Typeorm 迁移未正确检测更改