Как написать многоцелевой API для mongoose с node.js ?

#node.js #mongoose

#node.js #мангуст

Вопрос:

Как написать api для приведенных ниже маршрутов запросов? с помощью mongoose, node.js и express.js

/поиск?король= Робб Старк

  • возвращает список сражений, в которых «attacker_king» или «defender_king» был «Робб Старк»

Также должно работать для нескольких запросов

/ поиск?король = Робб Старк amp; местоположение = Риверран amp; тип= осада

модель базы данных выглядит следующим образом:

_id:5fd8df1c1333e53e88d41f31

название: «Битва за Щитовые острова»

год выпуска: «300»

номер битвы: «32»

attacker_king: «Балон / Эурон Грейджой»

defender_king:»Joffrey/Tommen Baratheon»

battle_type: «решающая битва»

местоположение: «Острова щита»

Ответ №1:

Если я правильно понял ваш вопрос, вы можете достичь этого с помощью чего-то, называемого запросом req в node js API

 app.get('/search', async function (req, res) {
    try{
        const query = {}
        if(req.query amp;amp; req.query.king){
            query.king= req.query.king
        }
        if(req.query amp;amp; req.query.location){
            query.location= req.query.location
        }

        if(req.query amp;amp; 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({})
    } )

})
 

Дайте мне знать, если это поможет 🙂

Комментарии:

1. На самом деле я должен проверить имя короля из двух полей, которые являются attacker_king или defender_king. И я думаю, что передача массива для поиска не сработает. Я тоже пытался просто нажать на это link: codeshare.io/axKWbB а это мое электронное письмо Id:samruddhashah@gmail.com пожалуйста, свяжитесь со мной