#node.js #mongodb #express #mongoose #mern
Вопрос:
У меня есть конечная точка API в виде api/get?subject=экономика, и на основе этого параметра темы я получаю доступ к различным коллекциям баз данных в mongodb. Прямо сейчас я использую операторы switch case для доступа к требуемой базе данных на основе параметров субъекта. Это делает мой код очень длинным. Есть ли способ получить доступ к базе данных только по значению параметра субъекта? например, вместо использования этого
const {subject}=req.query
switch (subject)
case "economics"
const data= await economics.find()
break;
Я хочу иметь возможность использовать это
const {subject}=req.query
const data=await subject.find() // here subject will refrence its value like economics or stats
Комментарии:
1. вы пробовали?
2. Да, это дает тему ошибки.find() не является функцией
3. Вы должны передать переменную
db()
или что-то подобное. проверьте документы
Ответ №1:
Я думаю, что лучше передать модальный в качестве аргумента. Вот код, как я создал общий контроллер
https://gist.github.com/RMUSMAN/b7132fda6e945393882586c26b132e24
https://gist.github.com/RMUSMAN/c419d8149effb8514845946ad5b652f1
https://gist.github.com/RMUSMAN/f44ba2a20da35a2ce5ffd7517ea8fca8