Mongoose - 如何在钩子内查询?

时间:2017-11-18 18:18:54

标签: mongodb mongoose mongoose-schema

我不能100%确定如何制定这个问题。

考虑以下' message.js'的代码。模型文件。

我有一个" post remove"我查询User.js文件中定义的User集合的钩子(该文件与此文件几乎相同)。

现在,我想做的是在"预存储"内查询消息集合(在此文件中定义)。钩。

有可能吗?

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var User = require('./user');

var schema = new Schema({
    content: {type: String, required: true},
    user: {type: Schema.Types.ObjectId, ref: 'User'}
});

schema.post('remove', function (message) {
    User.findById(message.user, function (err, user) {
        user.messages.pull(message);
        user.save();
    });
});

schema.pre('save', function(next) {

  //Here I want to query the Message collection

  next();
});

module.exports = mongoose.model('Message', schema);

1 个答案:

答案 0 :(得分:0)

schema.pre('save', function(next) {

    let MessageModel = mongoose.model('Message');

    MessageModel.find(findQuery, (err, results) => {
        if(err) handleError();

        //Do stuff with results
        next();
    });
});