MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara melakukan kueri dari dalam pra kait Mongoose di aplikasi Node.js / Express?

Sayangnya, ini tidak didokumentasikan dengan baik (tidak disebutkan dalam dokumen API Document.js), tetapi Dokumen memiliki akses ke modelnya melalui constructor field - Saya menggunakannya sepanjang waktu untuk mencatat sesuatu dari plugin, yang memberi saya akses ke model mana mereka dilampirkan.

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();
    });
});

Untuk situasi Anda, Anda seharusnya dapat melakukan:

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. Promosikan subbidang ke tingkat teratas dalam proyeksi tanpa mencantumkan semua kunci

  2. Ekspor Koleksi MongoDB ke File JSON

  3. Tutorial dasar-dasar MongoDB

  4. Dapatkan catatan MongoDB terbaru berdasarkan bidang datetime

  5. Periksa bahwa Bidang Ada dengan MongoDB