如果在 Nest.js 中不能使用“any”,架构中字段的类型应该是啥?

Posted

技术标签:

【中文标题】如果在 Nest.js 中不能使用“any”,架构中字段的类型应该是啥?【英文标题】:What should be the type of a field in schema if "any" cannot be used in Nest.js?如果在 Nest.js 中不能使用“any”,架构中字段的类型应该是什么? 【发布时间】:2021-04-12 06:32:44 【问题描述】:

我正在使用 Mongoose 在 Nest.js 中工作。在创建模式时,我有一个字段 extra_options 可以存储任何类型的值(数组、对象、字符串等)。将其类型保持为“任何”是行不通的。正确的类型应该是什么?这是代码片段。

@Schema(
    collection: 'xyz',
    timestamps: 
        updatedAt: 'updated_at',
        createdAt: 'created_at'
    ,
)
export class xyz 
    @Prop(default: true)
    active: boolean;

    @Prop()
    extra_options: any;

    @Prop(required: true)
    created_by: string;

【问题讨论】:

【参考方案1】:
import * as mongoose from 'mongoose';

@Prop(type: mongoose.Schema.Types.Mixed)
extra_options: any;

这行得通。

【讨论】:

对我有用的是:@Prop( type: , default: null ) extra_options: any; 感谢您拯救了这个夜晚!

以上是关于如果在 Nest.js 中不能使用“any”,架构中字段的类型应该是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Nest.js 模型依赖注入与 Mongoose 没有构造函数

Nest JS GraphQL“不能为非空返回null” [重复]

Nest.js 中特定路由上的 WebSockets

Nest.JS 和 Observables

如何在没有守卫装饰器的情况下始终验证 JWT? (Nest.js + 护照)

nest.js学习