Я пытаюсь реализовать функцию поиска в Node, mongoose.
Есть два параметра, по которым мне нравится искать: по имени или по исполнителю.Если какое-либо из двух совпадений совпадает с текущей базой данных, оно должно вернуть значение (что делает его успокаивающим)
Однако, оно отправляет ответ Error: Can't set headers after they are sent.
и Unhandled promise rejections are deprecated
, и даже ответ, который я получаю,empty
Я пытаюсь выполнить в нем два запроса, которые, я думаю, могут быть проблемой.Как я должен написать это, или как правильно написать эти функциональные возможности
Вот мой текущий код
app.get('/search/:textValue', controller.findData)
и findData
exports.findData = (req, res)=>{
const searchParam = req.params.textValue;
let storeResult = []
if(searchParam==null|| searchParam == undefined || searchParam==""){
return res.status(500).json("Send a valid input")
}
else{
Song.find({artists: new RegExp(searchParam, "i")}).lean().then((data)=>{
storeResult[0].push(data)
}).catch((err)=>{
return res.send(err)
})
Song.find({name: new RegExp(searchParam, "i")}).lean().then((data)=>{
storeResult[1].push(data)
}).catch((err)=>{
return res.send(err)
})
return res.send(storeResult)
}
}
Они отлично работают с одиночными запросами, какие изменения следует внести здесь?