Я новичок в мангусте.Я написал метод статики и метод экземпляра для схемы Mongoose под названием 'questionSchema' и экспортировал его так:
var questionSchema = new Schema({
...
})
questionSchema.methods.createQuestion = function(){
return this.save(function(err){
if(err){
return err
};
return 'Saved the question';
});
};
questionSchema.statics.getAllQ = function(){
return this.find({}, function(err, res){
if(err){
return err
};
return res;
});
}
module.exports = mongoose.model('Question', questionSchema)
Затем на маршруте на моем сервере Node / Express я импортировал его как модельи попытался вызвать статический метод, который должен вернуть все документы в модели Question:
const Question = require('../models/question.js');
...
router.post('/qcrud/submit', (req, res) => {
let reqBody = req.body;
var newQuestion = new Question({reqBody});
newQuestion.createQuestion();
})
router.get('/qcrud/getAll',(req, res) => {
let qArr = Question.getAllQ()
res.send(qArr);
});
Однако он возвращает объект Query, а не массив, как я ожидал.Я оглянулся и увидел в MDN, что
'Если вы не укажете обратный вызов, API вернет переменную типа Query.'
Я указалобратный вызов, но все еще получил объект Query.Прежде всего, правильно ли я использую методы static и instance?Документы даже сохраняются?И как мне получить доступ к массиву сохраненных документов?