Я пытаюсь вернуть все документы из моей коллекции Mongo, если параметры запроса не переданы. В настоящее время у меня есть 3 необязательных параметра запроса, которые могут быть переданы пользователем.
localhost:3000/api/projects
//should return all projects. Currently this is returning []
localhost:3000/api/projects?id=1
//should return projects with id of "1". Working properly.
localhost:3000/api/projects?name=myproject
//should return projects with name of "myproject". Working properly.
localhost:3000/api/projects?created_by=John
//should return projects created by "John". Working properly.
В рамках моего маршрута я пытаюсь определить, что в моем запросе есть какие-либо значения запроса. Если это не так, то я хочу вернуть все документы в коллекции. Как указано выше, это ничего не возвращает.
router.get('/', async (req, res) => {
if (req.query !== '') {
const project = await Projects.find({
$or: [
{ _id: req.query.id },
{ name: req.query.name },
{ created_by: req.query.created_by }]
});
res.json(project);
}
else {
const project = await Projects.find();
res.json(project);
}
});