【发布时间】:2018-07-31 15:55:41
【问题描述】:
我有一个很奇怪的问题:
在我的“Message.js”文件中,我定义了一个架构:
const mongoose = require('mongoose');
const moment = require('moment');
const Schema = mongoose.Schema;
const MessageSchema = new Schema({
content: {
type: String,
required: [true, 'Cannot Be Empty!']
},
type: {
type: Number,
enum: [0, 1, 2, 3, 4]
},
target: { type: [], default: ['all'] },
target_user: { type: [], default: ['all'] },
ext: {},
create_time: {
type: Number,
default: function () {
return moment().unix();
}
}
});
const MessageModel = mongoose.model("MessageModel", MessageSchema);
module.exports = MessageModel;
然后我使用如下代码在另一个模型中引用了这个文件:
const MessageModel = require('../../common/model').MessageModel;
exports.messageList = function (req, res) {
.....
MessageModel.find(queryParams).skip(offset)
.limit(limit)
.sort({ create_time: -1 })
.exec(function (err, data) {
if (err) {
res.error(err);
}
else {
res.success(data);
}
});
};
令我惊讶的是“exec”处的回调永远不会被调用,这意味着永远不会调用 res 来返回实际值。我试过“findOne”、“remove”....等等。除了在 Visual Studio Code 中找到之外,它们对我都很好……为什么?
谁能帮帮我?警戒!
【问题讨论】: