MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

टाइपप्रति नेवला क्वेरी परिणाम में कुछ फ़ील्ड को अनदेखा करें प्रकार सुरक्षित तरीका

toObject . द्वारा लौटाए गए अपने सादे JavaScript ऑब्जेक्ट को रूपांतरित करने के लिए टाइप की गई वस्तु में, आप class-transformer . का उपयोग करना चाह सकते हैं पुस्तकालय (पुस्तकालय की अनुशंसा Nest.js द्वारा की जाती है सत्यापन उद्देश्यों के लिए)।

चरण 1.

सबसे पहले class-validator स्थापित करें :

$ npm i --save class-transformer

चरण 2.

एक बार इंस्टॉल हो जाने पर, User . मानकर वर्ग में निम्नलिखित गुण हैं:

 class User {
     public id: any;
     public email: string;
     public password: number;
 }

UserWithoutPassward named नाम से एंटेर क्लास बनाएं और आयात करें Exclude

"क्लास-ट्रांसफॉर्मर" से
import { Exclude } from "class-transformer";

class UserWithoutPassword extends User {
    @Exclude()
    public password: number
}

हम Exclude . का उपयोग करते हैं class-transformer को जाने देने के लिए एनोटेशन पता है कि हम password को बाहर करना चाहते हैं ।

चरण 3.

plainToClass आयात करें समारोह:

import { plainToClass } from "class-transformer";

और अपने कोड पर वापस जाएं:

async validateUser(email: string, password: string): Promise<UserWithoutPassword | null> {
    const user = await this.usersService.findOne({ email });

    if (user && await compare(password, user.password))
    {
        return plainToClass(UserWithoutPassword, user.toObject());
    }

    return null;
}

plainToClass विधि निम्नलिखित मापदंडों को स्वीकार करते हुए एक सादे जावास्क्रिप्ट ऑब्जेक्ट को विशिष्ट वर्ग के उदाहरण में बदल देती है:

  1. तत्काल करने के लिए कक्षा
  2. सादे वस्तु

लाइब्रेरी के बारे में और संदर्भ

आशा है कि यह मदद करता है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Azure पर सबसे तेज़ MongoDB!

  2. कैसे उपयोगकर्ता नाम और पासवर्ड के साथ जावा में MongoDB 3.2 से कनेक्ट करने के लिए?

  3. सुनिश्चित करें कि सूचकांक काम नहीं कर रहा है - MongoDB

  4. आंशिक अनुक्रमणिका की सीमाएँ क्या हैं?

  5. MongoDB छँटाई