节点猫鼬打字稿如何输入 type: ObjectId, ref: 'User'
Posted
技术标签:
【中文标题】节点猫鼬打字稿如何输入 type: ObjectId, ref: \'User\'【英文标题】:Node mongoose typescript how to type type: ObjectId, ref: 'User' 节点猫鼬打字稿如何输入 type: ObjectId, ref: 'User' 【发布时间】:2020-11-08 05:06:29 【问题描述】:我正在使用带有 typescript 的猫鼬 关注这个https://medium.com/@agentwhs/complete-guide-for-typescript-for-mongoose-for-node-js-8cc0a7e470c1
我不知道怎么打字
以下内容:[ type: ObjectId, ref: 'User' ],
请给我一个提示好吗?
【问题讨论】:
【参考方案1】:所以基本上,您在 mongoose 模式中定义的内容只是为了让 mongoose 理解和键入脚本并不关心它。如果您在检索记录时填充following
,您的界面将为following: User[]
,否则它将是一个字符串数组string[]
【讨论】:
【参考方案2】:当使用 mongoose 和 typescript 的定义类型时,您必须创建一个接口或类型,例如
import Document from "mongoose"
type UserType=
username:String,
_doc:any
&Document
//或者
interface IUser extends Document
username:String,
_doc:any
_doc
用于在查询重组时获取对象主体的主体
假设您有一个博客,并且有一个用户是作者,我们如何映射它?
type BlogType=
title:
type:String,
required:true
,
author:
type:ShemaTypes.ObjectId,
ref:'User',
required:true,
,
comments:
type:[
user:ShemaTypes.ObjectId,
content:String,
]
&Document
使用 ref 可以很容易地查询另一个表作为引用 Object Id 的表的连接 使用数组时,您只需定义要存储在 type 属性中的数据结构
【讨论】:
以上是关于节点猫鼬打字稿如何输入 type: ObjectId, ref: 'User'的主要内容,如果未能解决你的问题,请参考以下文章