如何为下面的查询路由编写api?在mongoose,node.js和express.js的帮助下
Robb Stark
也应该适用于多个查询
/search?king=Robb Stark&location=Riverrun&type=围攻
数据库模型是这样的:
_ID:5FD8DF1C1333E53E88D41F31
名称:《盾群岛之战》
年份:“300”
Battle_Number:“32”
Attacker_King:“Balon/Euron Greyjoy”
Defender_King:“乔佛里/托门·拜拉席恩”
battle_type:“投入战斗”
地点:“神盾群岛”
如果我正确理解了您的问题,那么您可以通过node js API中的req query来实现
app.get('/search', async function (req, res) {
try{
const query = {}
if(req.query && req.query.king){
query.king= req.query.king
}
if(req.query && req.query.location){
query.location= req.query.location
}
if(req.query && req.query.type){
query.battle_type= req.query.type
}
const result = await Battles.find(query)
res.send({
result:result
})
}
catch(e=>{
// error condition
res.send({})
} )
})
如果有帮助,请告诉我:)