¿Por qué tengo TypeError: no puedo leer la propiedad '1' de NULL con API de descanso? -- de.js campo con rest campo con mongoose camp Relacionados El problema

Why do I have TypeError: Cannot read property '1' of null with GET REST API?


1
vote

problema

Español

Este es el comentario de la colección de comentarios (MongoDB) que estoy tratando de recuperar. ingrese la descripción de la imagen aquí

MI MÉTODO DE CONVENCIÓN

  // @route     GET /api/v1/Comments/:id exports.getComment = asyncHandler(async (req, res, next) => {   const comment = await Comment.findById(req.params.id);    if (!Comment) {     return next(       new ErrorResponse(`No Comment found with the id of ${req.params.id}`, 404),     );   }    res.status(200).json({     success: true,     data: comment,   }); });   

Estoy usando Postman, cuando lo intento

  GET localhost:5000/api/v1/comments/5fce5d6c9ead51271d7c4160   

Tengo TypeError

  ajax0  

Respuesta de Postman

  ajax111  

MI MODELO DE COMENTARIOS

  ajax2  

Agregar comentario funciona bien

  ajax3  

ID en este caso se refiere a BlogPost

  ajax4  

editar Esto funciona

  ajax5  

con el cuerpo JSON

  ajax6  

obtuve la respuesta correcta.

  ajax7  

Todavía estoy confundido, parece que el cuerpo no puede estar vacío.

¿Por qué?

Original en ingles

This is the comment from comments collection(MongoDB) that I am trying to retrieve. enter image description here

My getComment method

// @route     GET /api/v1/Comments/:id exports.getComment = asyncHandler(async (req, res, next) => {   const comment = await Comment.findById(req.params.id);    if (!Comment) {     return next(       new ErrorResponse(`No Comment found with the id of ${req.params.id}`, 404),     );   }    res.status(200).json({     success: true,     data: comment,   }); }); 

I am using POSTMAN,when I try

GET localhost:5000/api/v1/comments/5fce5d6c9ead51271d7c4160 

I got typeerror

TypeError: Cannot read property '1' of null 

Postman response

<head>     <meta charset="utf-8">     <title>Error</title> </head>  <body>     <pre>TypeError: Cannot read property &#39;1&#39; of null<br> &nbsp; &nbsp;at firstchar 

My Comments model

const Comment = new mongoose.Schema({   title: {     type: String,     trim: true,   },   body: String,   postedBy: {     type: mongoose.Schema.Types.ObjectId,     ref: 'User',     required: true,   },   blog: {     type: mongoose.Schema.Types.ObjectId,     ref: 'BlogPost',     required: true,   },   createdAt: {     type: Date,     default: Date.now,   }, }); 

Adding comment works fine

POST localhost:5000/api/v1/comments/5fc5294add045b2ece2595b9 

Id in this case refers to Blogpost

// @route  POST /api/v1/blogpost/:blogid/comment exports.addComment = asyncHandler(async (req, res, next) => {   req.body.blog = req.params.id;   req.body.postedBy = req.user.id;    const post = await BlogPost.findById(req.params.id);   const comment = await Comment.create(req.body);   console.log(comment);   res.status(200).json({     success: true,     data: comment,   }); 

EDIT This works

GET localhost:5000/api/v1/comments/5fce5d6c9ead51271d7c4160 

with JSON body

{     "title": "whatever",     "body" : "pich" }  

Got the right response.

"success": true, "data": {     "_id": "5fce5d6c9ead51271d7c4160",     "title": "Ola,de novo!",     "body": "Avenida Jovia,morava la antes,priquita!",     "blog": "5fc611f3b1b10346cd1ed538",     "postedBy": "5fc4bc019a141602fb78d0b5",     "createdAt": "2020-12-07T16:50:52.024Z",     "__v": 0 } 

I am still confused,it seems that body can not be empty.

Why?

        
 
 

Lista de respuestas

0
 
vote

Creo que hiciste un error tipográfico en if (!Comment)

debería ser

    if (!comment) { // notice lowercase "c"     return next(       new ErrorResponse(`No Comment found with the id of ${req.params.id}`, 404),     );   }   
 

I think you made a typo on if (!Comment)

It should be

  if (!comment) { // notice lowercase "c"     return next(       new ErrorResponse(`No Comment found with the id of ${req.params.id}`, 404),     );   } 
 
 
 
 

Relacionados problema

8  Cómo definir los atributos variables para un sistema de productos en Mongoose (NODE.JS)  ( How to define varying attributes for a product system in mongoose node js ) 
Estoy construyendo una aplicación de tienda personal donde los usuarios pueden vender artículos entre sí, pero estoy teniendo dificultades para determinar cóm...

1  Devolviendo todos los comentarios por un usuario específico sin otros campos de documentos usando Mongoose  ( Returning all comments by a specific user without other document fields using mo ) 
var mongoose = require('mongoose'); // defines the database schema for this object var schema = mongoose.Schema({ projectName : String, authorName : Str...

0  Error al copiar Req.body Properties en Modelo de mangosta  ( Error copying req body properties into mongoose model ) 
En primer lugar, tengo que decir que soy nuevo en tecnologías angulares y nodos. Lo siento mucho por mi ignorancia. Obtengo este error cuando intento guarda...

0  MONGODB / MONGOOSE ¿Cómo puedo combinar dos entradas de DB sin conflictos?  ( Mongodb mongoose how do i pair two db entries without conflicts ) 
Consulte esta pregunta para obtener información adicional: MONGODB MEJOR manera de emparejar y eliminar la base de datos secuencial Entradas ¡De acuerd...

0  MongoDB - Obtenga un error al conectarse con la base de datos local  ( Mongodb getting error while connect with local data base ) 
Estoy tratando de crear una lista de usuarios cuando el usuario envíe sus detalles. En app.js Tengo la función para eso. Me gusta esto: app.post('/addL...

2  Mangosta con mongodb atlas devuelva la matriz vacía  ( Mongoose with mongodb atlas return empty array ) 
Estoy tratando de conectar express.js con Mongodb Atlas y Mangoose, pero el servidor siempre devuelve una matriz vacía '[]'. Cuando carga una base de datos lo...

0  Actualizando los subdocumentos con mangosta  ( Updating subdocuments with mongoose ) 
De acuerdo, así que estoy tratando de actualizar un subdocumento (documento incrustado) con mangosta. Tengo: query = 'fanclubs.fanclub_id': fancl...

0  MongoError: Expresión $ toma exactamente 2 argumentos. 1 fueron pasados. '{$ In: [<expresión>, <expresión de matriz>]}' No funciona  ( Mongoerror expression in takes exactly 2 arguments 1 were passed in in ) 
Estoy tratando de ejecutar esto a continuación. update.keywords y update.genre son la matriz de cadenas. Estoy usando Mongodb v4.4.0 let similar = awai...

1  Mangose, búsqueda de texto Múltiples campos no funcionan  ( Mongoose text search multiple fields not working ) 
Aquí está mi modelo, var InternetSchema = new Schema({ name: String, company: String, contactNumber:String, accessToken:String, }); InternetSchem...

1  Conexión de mangosta a cada archivo MVC en mangosta  ( Connecting mongoose to every mvc file in mongoose ) 
utilizando MVC: Node App Directory App.js Controllers UserController.js OtherController.js Models UserModel.js OtherModel....




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos