Mongoose findOne函数调用什么也没做,我又遇到了麻烦。回调永远不会被退回......
schema.js文件:
var schemaSizeGroup = new Schema({
sizeGroupId : {type: Number, required: true, index: true, index: { unique: true }}
,sizeGroupName : {type: String, required: true, trim: true, index: { unique: true }}
,sizeGroupValues : {type: String, required: true, trim: true }
,active : {type: Boolean, default: true }
}, { collection: 'sizegroup' }).index({sizeGroupId : 1});
module.exports ={
SizeGroup : mongoose.connection.model('SizeGroup', schemaSizeGroup),
}
index.js文件:
findDocumentById : function(sGroupId, callback){
winston.info(" Trying to select!");
model.SizeGroup.findOne( {sizeGroupId : sGroupId} ,function(err, sGroup) {
winston.info(" Select done:");
winston.info(JSON.stringify(sGroup,null,2));
if(!err) {
if(!sGroup) {
callback(new Error(" No SizeObject Found for Id:" + sizeGroupId));
} else { callback(null, sGroup); }
}
else {
callback(err);
}
});
}
}
使用mongo客户端选择数据很好地返回正确的数据:
db.sizegroup.find({sizeGroupId : 6});
使用mongoose.set('debug',true)时输出如下:
Mongoose: sizegroup.findOne({ sizeGroupId: 6 }) { fields: undefined }
我有活跃的mongoose连接,因为之前的所有插入语句都已成功。
我做错了吗?
答案 0 :(得分:0)
这是程序流程中的回调问题。明确纯粹愚蠢的情况....