есть ли какое-либо решение ошибки в nodejs » Ошибка приведения к номеру для значения «неопределенный» в пути»

#node.js #reactjs #mongodb #express

#node.js #reactjs #mongodb #выразить

Вопрос:

У меня небольшая проблема, чтобы понять, как решить эту ошибку. я всего лишь новичок в nodejs и mongodb / mongoose.Я создаю компонент в reactjs для обновления каких-либо конкретных документов, используя его user_id, который я передаю параметрам в маршрутах. есть код:

 const express = require('express');
const mongoose = require('mongoose');
const mongodb = require('mongodb')
const user = require('../schema');
const router = express.Router();

router.get('/:id', function (req, res) {
  const userid = {
    userid: (req.params.id || '')
  }
  console.log('getting to be updated data');
  user.db1.findOne(userid, function (err, data) {
    if (err) throw err
    res.send(data)
    console.log(data)
  });
});
module.exports = router


//here is the user model:

const userSchema = new mongoose.Schema({
userid:{type:String},
fullname:{type:String},
phone:{type:Number},
email:{type:String},        
})
const skillSchema = new mongoose.Schema({
    userid:{type:Number},
    skills:{type:String},
})
const users = mongoose.model('users',userSchema);
const skills = mongoose.model('skills',skillSchema);

module.exports ={
    db1 : users,
    db2 : skills
}

   
  

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

1. Не могли бы вы опубликовать модель модели пользователя?

2. я добавил пользовательскую модель.

Ответ №1:

Я предполагаю, что вы не указали в функции find.one (), по какому параметру она будет искать. Попробуйте, введя свое собственное имя столбца вместо идентификатора.

 user.db1.findOne({ id: userid } ,function(err, data){
        if (err) throw err
        res.send(data)
        console.log(data)
});
  

Или вы можете изменить свою функцию и использовать findById().

 user.db1.findById(userid, ,function(err, data){
            if (err) throw err
            res.send(data)
            console.log(data)
});
  

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

1. Метод findById() работает только тогда, когда вы хотите сопоставить со свойством _id, которое автоматически генерируется и создается mongodb