【问题标题】:NestJS TypeORM for MongoDB Crashing After InsertNestJS TypeORM for MongoDB 在插入后崩溃
【发布时间】:2020-06-19 12:34:27
【问题描述】:

我在 NestJS 和 MongoDB 的 TypeORM 中遇到了这种奇怪的行为。

当我使用this.repo.save(newEntity); 创建一个新实体时,数据将保存到 MongoDB。但是,我也收到错误cannot read property “createValueMap()” of undefined.。

有解决办法吗?

【问题讨论】:

    标签: node.js mongodb typescript nestjs


    【解决方案1】:

    在我的代码中解决问题的是@ObjectIdColumn 装饰器。我希望这可能对某人有所帮助。

    import { BaseEntity, Column, Entity, ObjectID, ObjectIdColumn } from "typeorm";
    import { TaskStatus } from "./tasks-status.enum";
    
    @Entity()
    export class Task extends BaseEntity {
        @ObjectIdColumn()
        _id: ObjectID;
    
        @Column()
        title: string;
    
        @Column()
        description: string;
    
        @Column()
        status: TaskStatus;
    }
    

    【讨论】:

      【解决方案2】:

      TypeOrm 从未被创建用于处理 mongo,并且存在非常微不足道的错误,但您可以尝试为您的架构创建 ObjectID

      import { ObjectID } from 'mongodb'
      export const toObjectId = (value: string | ObjectID): ObjectID => {
        return typeof value === 'string' ? new ObjectID(value) : value
      }
      

      用它来创建一个新的objectId,检查objectId应该是HexaDecimal

      【讨论】:

        猜你喜欢
        • 2020-09-01
        • 2018-03-25
        • 2022-01-02
        • 2021-08-28
        • 2021-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-25
        相关资源
        最近更新 更多