Mongoose Map 类型与 TypeScript 类型不兼容
Posted
技术标签:
【中文标题】Mongoose Map 类型与 TypeScript 类型不兼容【英文标题】:Mongoose Map type incompatible with TypeScript type 【发布时间】:2022-01-22 01:35:33 【问题描述】:我有以下模型架构接口:
import Document from 'mongoose';
export interface ILog
tags: [key: string]: string [];
export interface ILogDocument extends ILog, Document
还有架构:
const logSchema = new Schema<ILogDocument>(
tags: type: Map, of: String ,
);
所以我的架构出现以下类型错误:
TS2322: Type ' type: MapConstructor; of: StringConstructor; ' is not assignable to type 'SchemaDefinitionProperty< [key: string]: string; []> | undefined'.
我想使用正确的类型定义,我尝试了type: Schema.Types.Mixed
及其作品,但是有没有更好的方法来为tags: [key: string]: string []
指定猫鼬类型?
【问题讨论】:
【参考方案1】: [key: string]: string []
不完全是 Map
。您可以使用 TS 中的 Map 类型。
import Document, Schema from 'mongoose';
export interface ILog
tags: Map<string, string>;
export interface ILogDocument extends ILog, Document
const logSchema = new Schema<ILogDocument>(
tags: type: Map, of: String
);
【讨论】:
以上是关于Mongoose Map 类型与 TypeScript 类型不兼容的主要内容,如果未能解决你的问题,请参考以下文章
链接多个 Promise,使用 map 循环数组并创建 mongoose 文档?
“typeof firebase”类型不存在属性“default”。错误