#javascript #node.js #reactjs #mongodb #express
#javascript #node.js #reactjs #mongodb #выразить
Вопрос:
Поиск по индексу, возвращает результаты.
Метод:
async index(req,res){
const user = await Usuario.find();
res.json(user);
},
Маршрут:
routes.get('/api/usuarios', Usuario.index);
но findOne({_id}) не может получить результаты, пожалуйста, помогите (я пытался изменить параметры с помощью запроса, но не работает)
метод:
async details(req,res){
const { _id } = req.params;
const user = await Usuario.findOne({_id});
res.json(user);
},
маршрут:
routes.get('/api/usuarios.details/', Usuario.details);
Комментарии:
1. Можете ли вы записать в консоль запрос.params, тогда вы сможете указать ключ запроса
Ответ №1:
Прежде всего, вам нужно изменить свой маршрут
routes.get('/api/usuarios/:_id', Usuario.details);
Затем вам нужно вызвать API, как показано ниже
http://localhost:<your port number>/api/usuarios/<your id>
Затем в вашем контроллере
Usuario.findOne(
{ _id: req.params._id }
)
Комментарии:
1. это работает, просто с настройкой на маршруте 🙂 спасибо богу!
Ответ №2:
async details(req,res){
const { _id } = req.params;
const user = await Usuario.findOne({_id: _id});
res.json(user);
},
Попробуйте выше
Комментарии:
1. получите ObjectId() из модуля ‘mongodb’ и передайте идентификатор в качестве параметра ObjectId (id) следующим образом
2. если я установлю идентификатор в коде, он вернет результат async details(req,res){ const { _id } = req.params; const user = await Usuario.findOne({_id: ‘603ff264ddeecb2750287a4d’}); res.json(user); }, но мне нужно его найти:'(