最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

Nestjs MongoDb架构接口信息复制

IT培训 admin 4浏览 0评论

Nestjs MongoDb架构/接口信息复制

我一直在关注instructions将MongoDb与Nestjs一起使用。我已经有了工作,但在我看来,有一个相当不必要的重复信息(而不是DRY)。具体来说,似乎我们需要制作Db架构以及与架构匹配的接口。在我自己的代码中,这看起来像这样:

import { Document, Schema } from 'mongoose';

export interface IBlogPost extends Document {
  subject: string;
  body: string;
  authorId: string;
}

export const BlogPostSchema = new Schema({
  subject: String,
  body: String,
  authorId: String,
});

如果你想要更多的上下文,我的其余代码都在this repo中。官方示例代码是here。

我做错了什么或这是否真的需要?

回答如下:

你可以看看nest.js typegoose library。该库从带注释的typescript类创建模式定义。

export class Cat extends Typegoose {
  @prop({ required: true })
  name: string;
}

或者你可以使用typeorm和mongodb,它也只需要一个带注释的typescript接口。

Nestjs MongoDb架构/接口信息复制

我一直在关注instructions将MongoDb与Nestjs一起使用。我已经有了工作,但在我看来,有一个相当不必要的重复信息(而不是DRY)。具体来说,似乎我们需要制作Db架构以及与架构匹配的接口。在我自己的代码中,这看起来像这样:

import { Document, Schema } from 'mongoose';

export interface IBlogPost extends Document {
  subject: string;
  body: string;
  authorId: string;
}

export const BlogPostSchema = new Schema({
  subject: String,
  body: String,
  authorId: String,
});

如果你想要更多的上下文,我的其余代码都在this repo中。官方示例代码是here。

我做错了什么或这是否真的需要?

回答如下:

你可以看看nest.js typegoose library。该库从带注释的typescript类创建模式定义。

export class Cat extends Typegoose {
  @prop({ required: true })
  name: string;
}

或者你可以使用typeorm和mongodb,它也只需要一个带注释的typescript接口。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论