【发布时间】:2021-11-06 23:31:14
【问题描述】:
我在node.js 中使用mongoose 和typescript
我的模型定义 -> album.model.ts
import mongoose from "mongoose";
const { Schema } = mongoose;
interface Album {
title: string,
price: Number
}
const schema = new Schema<Album>({
title: { type: String, required: true },
price: Schema.Types.Decimal128
});
const albums = mongoose.model("albums", schema);
export default albums;
专辑 API -> 专辑.ts
import express from "express";
import albums from "../../models/albums";
const router = express.Router();
router.get("/api/albums", async (req, res) => {
const _albums = await albums.find({}); //line #1
const albums= _albums.map((item) => { //line #2
return {
title: item.get("title").ToUpperCase()
}})};
export default router;
但是,我没有像鼠标悬停时那样对 Typescript 进行静态类型检查,我在第 1 行看到 _albums 的类型为 any ,第 2 行的 item 也是如此
虽然我正在寻找 _albums 的数组 Album 和 item 到 Album 的实例,以便我可以通过 . 访问属性
_albums.map((item) => { //line #2
return {
title: item.title.ToUppercase()
}})};
我检查的链接。
我怎样才能获得这种静态类型检查/转换?
谢谢!
【问题讨论】:
标签: node.js typescript mongodb mongoose