猫鼬 - 如何在钩子内查询?
Mongoose - How to query within an hook?
我不是 100% 确定如何提出这个问题。
考虑以下 'message.js' 模型文件的代码。
我有一个 "post remove" 挂钩,我在其中查询用户集合,它在 user.js 文件中定义(该文件与这个文件几乎相同)。
现在,我想做的是查询 "pre save" 挂钩中的 Message 集合(在此文件中定义)。
可以吗?
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);
schema.pre('save', function(next) {
let MessageModel = mongoose.model('Message');
MessageModel.find(findQuery, (err, results) => {
if(err) handleError();
//Do stuff with results
next();
});
});
我不是 100% 确定如何提出这个问题。
考虑以下 'message.js' 模型文件的代码。
我有一个 "post remove" 挂钩,我在其中查询用户集合,它在 user.js 文件中定义(该文件与这个文件几乎相同)。
现在,我想做的是查询 "pre save" 挂钩中的 Message 集合(在此文件中定义)。
可以吗?
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);
schema.pre('save', function(next) {
let MessageModel = mongoose.model('Message');
MessageModel.find(findQuery, (err, results) => {
if(err) handleError();
//Do stuff with results
next();
});
});