Nestjs MongoDb Схема / Дублирование информации об интерфейсе - PullRequest
0 голосов
/ 17 февраля 2019

Я следовал инструкциям по использованию MongoDb с Nestjs.У меня все работает, но мне кажется, что есть ненужное дублирование информации (не СУХОЕ).В частности, кажется, что нам необходимо создать схему 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,
});

Остальная часть моего кода находится в этом репо , если вы хотите больше контекста.Официальный пример кода: здесь .

Я что-то не так делаю или это действительно требуется?

1 Ответ

0 голосов
/ 17 февраля 2019

Вы можете проверить библиотеку nest.js typegoose .Библиотека создает определение схемы из аннотированного класса машинописи.

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

В качестве альтернативы вы можете использовать typeorm с mongodb, который также нуждается только в одном аннотированном интерфейсе машинописи.

...