Amigos, preciso de uma força. Fiz um exemplo seguindo os mesmos modelos do curso, porém ao acessar a rota localhost:3000/cartoes, ele sempre retorna um array vazio. Não estou conseguindo enxergar nenhum problema no código. Servidor rodando sem problemas. Segue os códigos abaixo:
arquivo de rotas cartaoRoutes.js
module.exports = function(app){
var controller = app.controllers.cartaoController;
app.route('/cartoes')
.get(controller.listarTodos);
};
arquivo de controle cartaoController.js
var mongoose = require('mongoose');
module.exports = function(app){
var controller = {};
var model = mongoose.model('Cartao');
controller.listarTodos = function(req, res){
model
.find()
.then(function(cartoes){
res.json(cartoes);
}, function(error){
console.log(error);
res.status(500).json(error);
});
};
return controller;
};
arquivo de modelo cartaoModel.js
var mongoose = require('mongoose');
var schema = mongoose.Schema({
tipoCartao: {
type: String,
required: true
},
status: {
type: Boolean,
required: true
},
qtdCreditos: {
type: Number,
required: true
},
usuario: {
codigo: {
type: String,
required: true
},
nome: {
type: String,
required: true
},
curso_setor: {
type: String,
required: true
},
turno: {
type: String,
required: true
},
tipoUsuario: {
type: String,
required: true
}
}
});
mongoose.model('Cartao', schema);
Estou inserindo direto pelo terminal do mongodb os documentos na coleção da seguinte maneira:
var cartao = {tipoCartao: 'NORMAL', status: true, qtdCreditos: 10, usuario:{ codigo: '123', nome: 'JOÃO', curso_setor: 'CHEFIA', turno: 'MANHÃ', tipoUsuario: 'ADMIN'}};
db.cartoes.insert(cartao);