【发布时间】:2014-12-09 15:21:40
【问题描述】:
我正在使用 node.js express MongoDB 和 Mongoose 为我的应用程序创建 rest api。我想知道是否有任何类型的类型可以替换下面这样的代码以获得更通用的代码?我不想一直传递所有参数,但只能在特定时间内传递。大多数时候我只想通过其中的一部分。通常在 Java 中,我为这些东西创建构建器,但我不知道 Javascript 的任何技巧 :)
exports.getMessages = function (req, res) {
var from = req.query.from;
var deleted = req.query.deleted;
var readed = req.query.readed;
if(from && deleted && readed) {
Message.find({to: req.user.email, from: from, deleted: deleted, readed: readed}, function(err, messages) {
if(err) {
res.send(err);
}
res.json(messages);
})
} else if(from && deleted) {
Message.find({to: req.user.email, from: from, deleted: deleted}, function(err, messages) {
if(err) {
res.send(err);
}
res.json(messages);
})
} else if (from && readed) {
Message.find({to: req.user.email, from: from, readed: readed}, function (err, messages) {
if(err) {
res.send(err);
}
res.json(messages);
});
} else if(deleted && readed) {
Message.find({to: req.user.email, deleted: deleted, readed: readed}, function (err, messages) {
if(err) {
res.send(err);
}
res.json(messages);
});
} else if(deleted){
Message.find({to: req.user.email, deleted: deleted}, function(err, messages) {
if(err) {
req.send(err);
}
res.json(messages);
})
} else if(readed){
Message.find({to: req.user.email, readed: readed}, function(err, messages) {
if(err) {
req.send(err);
}
res.json(messages);
});
} else if(from){
Message.find({to: req.user.email, from: from}, function(err, messages) {
if(err) {
req.send(err);
}
res.json(messages);
});
}
};
【问题讨论】:
标签: javascript node.js mongodb rest mongoose