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

कैसे एक Node.js / एक्सप्रेस ऐप में नेवला पूर्व हुक के भीतर से क्वेरी करने के लिए?

दुर्भाग्य से, यह बहुत अच्छी तरह से प्रलेखित नहीं है (दस्तावेज़.जेएस एपीआई दस्तावेज़ों में इसका कोई उल्लेख नहीं है), लेकिन दस्तावेज़ों के पास constructor के माध्यम से उनके मॉडल तक पहुंच है। फ़ील्ड - मैं प्लगइन्स से चीजों को लॉग करने के लिए हर समय इसका उपयोग करता हूं, जो मुझे उस मॉडल तक पहुंच प्रदान करता है जिससे वे जुड़े हुए हैं।

module.exports = function readonly(schema, options) {
    schema.pre('save', function(next) {
        console.log(this.constructor.modelName + " is running the pre-save hook.");

        // some other code here ...

        next();
    });
});

आपकी स्थिति के लिए, आपको यह करने में सक्षम होना चाहिए:

IdeaSchema.pre('save', function(next) {
    var idea = this;

    function generate_slug(text) {
        return text.toLowerCase().replace(/[^\w ]+/g,'').replace(/ +/g,'-').trim();
    };

    idea.slug = generate_slug(idea.title);

    // this now works
    this.constructor.findOne({slug: idea.slug}, function(err, doc) {
        console.log(err);
        console.log(doc);
        next(err, doc);
    });

    //console.log(idea);
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb सर्वर से कनेक्ट नहीं हो सका

  2. बड़े संग्रह के लिए MongoDB में बल्क इंसर्ट प्रदर्शन

  3. मोंगोडीबी ड्रॉपइंडेक्स ()

  4. MongoDB से उसके मुख्य नाम से एक मान प्राप्त करें

  5. Azure तालिका बनाम MongoDB Azure पर