MongooseModule și MongoDB în NestJS în NestJS

database NestJS 10.x / Mongoose 8+ Q&A / Distribuie cod

Modelarea documentelor NoSQL cu Mongoose în NestJS: definirea schemelor prin decoratoare TypeScript și injectarea modelelor de date.

Sintaxă
@Schema() / @Prop() / @InjectModel(Cat.name) private catModel: Model<Cat>

Pentru proiectele bazate pe baze de date orientate pe documente (NoSQL), pachetul @nestjs/mongoose oferă o abordare declarativă bazată pe clase TypeScript.

Decoratoarele @Schema() și @Prop() generează automat schemele Mongoose, iar serviciile interacționează cu colecțiile prin injectarea modelului dedicat: @InjectModel(Nume.name).

Exemplu: Schemă Mongoose și model injectat în serviciu
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { HydratedDocument, Model } from 'mongoose';
import { Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/mongoose';

export type ProductDocument = HydratedDocument;

@Schema({ timestamps: true })
export class Product {
  @Prop({ required: true, unique: true })
  sku: string;

  @Prop({ required: true })
  title: string;

  @Prop({ default: 0 })
  price: number;
}

export const ProductSchema = SchemaFactory.createForClass(Product);

@Injectable()
export class ProductsService {
  constructor(@InjectModel(Product.name) private productModel: Model) {}

  async create(data: Partial): Promise {
    return new this.productModel(data).save();
  }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: MongooseModule și MongoDB în NestJS

Ai o nelămurire despre utilizarea comenzii MongooseModule și MongoDB în NestJS sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.