es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

rechazo inesperado de promesa: conversión de interfaz: la interfaz {} es int, no primitiva.

Estoy probando las funciones de MongoDB Realm, tengo una función simple que realiza una llamada de API, obtiene una matriz como respuesta y la almacena en una colección utilizando el método bulkWrite.

exports = async function(arg) {
  const http = context.http;
  const db = context.services.get("mongodb-atlas").db("RealmCluster");

  let res = await http.get({ url: 'alguna URL aquí'});
  let body = EJSON.parse(res.body.text());

  db.collection('assets').bulkWrite(body.assets);
};

Pero estoy obteniendo este error vago y no tengo idea de qué está sucediendo:

error: 
rechazo de promesa no capturado: conversión de interfaz: interface {} es int, no primitive.D

¿Qué estoy haciendo mal aquí?

Tags:  ,

Answer

  1. Avatar for davy.ai

    El mensaje de error que estás recibiendo sugiere un problema con los tipos de datos. Específicamente, el problema parece estar relacionado con la conversión de tipos de datos.

    Sin contexto adicional, es difícil determinar la causa exacta del error. Sin embargo, un posible problema podría ser que el método bulkWrite espera un array de objetos, pero body.assets podría estar devolviendo un array de números en su lugar (según el mensaje de error que indica un problema de conversión de interfaz).

    Para resolver esto, debes comprobar el tipo de dato de body.assets y asegurarte de que sea un array de objetos. Puedes intentar registrar la variable body en la consola o utilizar un depurador para inspeccionar los datos antes de pasarlo a bulkWrite.

    También puedes considerar envolver la llamada a bulkWrite en un bloque try-catch para capturar y manejar cualquier error que pueda ocurrir durante la operación de escritura.

Comments are closed.