Meu model tem a seguinte estrutura:
var mongoose = require('mongoose');
var schema = mongoose.Schema({
status: {
type: Boolean,
required: true
},
usuario: {
codigo: {
type: String,
required: true
},
nome: {
type: String,
required: true
},
tipoUsuario: {
type: String,
required: true
}
}
});
mongoose.model('Cartao', schema);
Tenho o arquivo de rotas pra buscar pelo código:
module.exports = function(app){
var controller = app.controllers.cartaoController;
app.route('/cartoes/:codigo')
.get(controller.buscaPorCodigo);
};
No meu controller faço a busca pelo código:
var mongoose = require('mongoose');
module.exports = function(app){
var controller = {};
var model = mongoose.model('Cartao');
controller.buscaPorCodigo = function(req, res){
model
.findOne({usuario.codigo: req.params.codigo})
.then(function(cartao){
if(!cartao)
res.status(404).json({erro: 'Cartão não encontrado!'});
res.json(cartao);
}, function(error){
console.log(error);
res.status(404).json(error);
});
};
return controller;
};
Porém, ao tentar levantar o projeto, ele acusa um erro de sintaxe na linha
.findOne({usuario.codigo: req.params.codigo})
Pelo visto, ele não consegue encontrar o código que está de usuário que por sua vez está dentro de cartão. Como faço essa busca?