我不能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);
答案 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();
});
});