If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
NestJS के साथ MongoDB को integrate करना एक काफी common और efficient combination है जब आपको NoSQL database के साथ काम करना होता है।
MongoDB को NestJS के साथ connect करने के लिए हम Mongoose का use करते हैं, जो एक powerful Object Data Modeling (ODM) library है। Mongoose आपको MongoDB के documents के साथ object-oriented
तरीके से काम करने कि सुविधा देता है।
इस topic में हम step-by-step देखेंगे कि कैसे NestJS के साथ MongoDB को setup करते हैं और कैसे यह check करते हैं कि connection successfully establish हुआ या नहीं।
Mongoose एक ODM (Object Data Modeling) library है जो MongoDB के साथ काम करने के लिए use होती है। यह MongoDB के documents को JavaScript objects के साथ map करती है, जिससे आप data को clean और structured तरीके से handle कर सकते हैं।
Mongoose आपको MongoDB के साथ schema-based modeling का support भी provide करता है।
कुछ Mongoose के advantages -
Schema-based modeling : आप अपने data के structure को define कर सकते हैं।
Validation : Data को validate करने के लिए built-इन support .
Middleware support : Pre-hooks और post-hooks का support for queries and data operations.
●●●
Mongoose और MongoDB के साथ NestJS को integrate करने के लिए आपको Mongoose को NestJS के project में install करना पड़ेगा।
npm install @nestjs/mongoose mongoose
अब हम MongoDB के साथ connection
को setup करेंगे। इसके लिए हम MongooseModule
का use करते हैं जो MongoDB के connection को NestJS application के साथ bind करता है।
सबसे पहले, हम MongooseModule
को अपने AppModule
में import करेंगे और MongoDB के URI के through connection को setup करेंगे।
File : src/app.module.ts
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { UserModule } from './user/user.module';
@Module({
imports: [
MongooseModule.forRoot('mongodb://localhost:27017/nest_mongo_app', {
useNewUrlParser: true,
useUnifiedTopology: true,
}),
UserModule,
],
})
export class AppModule {}
यहां हमने
MongooseModule.forRoot()
का use किया है ताकि MongoDB के साथ connection setup किया जा सके।
MongoDB URI में हम mongodb://localhost:27017/nestdb
use कर रहे हैं, जो MongoDB के local instance को refer करता है और nestdb
हमारे database का नाम है।
●●●
अब हम check करेंगे कि MongoDB के साथ connection successfully establish हुआ या नहीं। यह करने के लिए हम NestJS lifecycle hook
का use करेंगे।
हम onModuleInit()
lifecycle hook का use करेंगे और Mongoose connection के status को check करेंगे.
File : src/app.service.ts
import { Injectable, OnModuleInit } from '@nestjs/common';
import { Connection } from 'mongoose';
import { InjectConnection } from '@nestjs/mongoose';
@Injectable()
export class AppService implements OnModuleInit {
constructor(@InjectConnection() private readonly connection: Connection) {}
onModuleInit() {
const state = this.connection.readyState;
console.log('MongoDB connection state:', state);
// 1 = connected, 0 = disconnected
if (state === 1) {
console.log('MongoDB connection successful!');
} else {
console.error('Failed to connect to MongoDB.');
}
}
}
यहां
@InjectConnection()
का use करके हम Mongoose connection को inject कर रहे हैं।
onModuleInit()
method को override करके हम MongoDB connection का status check करते हैं।
connection.readyState
MongoDB connection का state return करता है , 1 का मतलब connected है, और 0 का मतलब disconnected है।
अगर connection successful है, तो console में "MongoDB connection successful!" message print होगा।
●●●
MongoDB में data को model करने के लिए हमें Schema
बनाना पड़ता है। Mongoose के साथ हम एक schema define करेंगे जो MongoDB के documents को represent करेगी।
चलिए अब हम एक simple User
Model बनाते हैं।
File : src/user/schemas/user.schema.ts
import { Schema, Prop, SchemaFactory } from '@nestjs/mongoose';
import { Document } from 'mongoose';
@Schema()
export class User extends Document {
@Prop({ required: true })
name: string;
@Prop({ required: true, unique: true })
email: string;
@Prop({ required: true })
password: string;
}
export const UserSchema = SchemaFactory.createForClass(User);
यहां
@Schema()
decorator का use करके हम User document का schema define कर रहे हैं।
@Prop()
का use करके हम schema के fields और उनकी properties define कर रहे हैं (e.g., required, unique).
SchemaFactory.createForClass()
से User class का schema create किया गया है जो MongoDB में store होगा।
●●●
इस topic में हमने देखा कैसे NestJS के साथ MongoDB
का connection setup करते हैं और कैसे check करते हैं कि connection successfully establish हुआ या नहीं।
हमने MongoDB के लिए Mongoose का use करते हुए एक User
model भी बनाया। आगे सीखेंगे कि कैसे MongoDB Documents (Tables) में data insert करते हैं।