изменение результатов в посте find mongoose hook

Я пытаюсь найти способ изменить результаты запроса мангуста.

Ниже приведена автономная модель с крючком для столба.

'use strict';

// load the things we need
var mongoose = require('mongoose');
var invoice_db = mongoose.createConnection(config.mongo.url + '/invoiceDB'); //connect to buyer DB
var path = require('path');


// define the schema for our invoice details model
var invoicedetailSchema = new Schema({
    //SCHEMA INFO
});

invoicedetailSchema.post('find', function(results){

console.log('POST FIRED')

    results = results.filter(function(doc){
     return doc.tags.length;
   })
})

var InvoiceModel = invoice_db.model('InvoiceDetail', invoicedetailSchema);


// create the model for seller and expose it to our app
promise.promisifyAll(InvoiceModel);
promise.promisifyAll(InvoiceModel.prototype);
module.exports = InvoiceModel;

Запрос на поиск работает нормально, и сообщение запускается, но результаты не фильтруются по почтовому хуку.

Как я могу отредактировать результаты до того, как результаты будут возвращены.


person Uma Maheshwaraa    schedule 26.07.2015    source источник
comment
Функция filter не изменяет массив, к которому она вызывается, она возвращает новый массив на основе фильтрации. Но почему бы вместо этого не исключить документы с пустым полем tags в запросе? См. stackoverflow.com/questions/14789684/   -  person JohnnyHK    schedule 27.07.2015
comment
@JohnnyHK Хорошо, может быть, механизм фильтрации неверен. Я пытаюсь добиться этого. В предварительном хуке я применяю запрос заполнения к мангусту. Однако некоторые документы не имеют никакого значения для населения. Я хотел бы отфильтровать все, что не имеет заполненного поля. Надеюсь, это немного проясняет   -  person Uma Maheshwaraa    schedule 28.07.2015