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í?
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, perobody.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 variablebody
en la consola o utilizar un depurador para inspeccionar los datos antes de pasarlo abulkWrite
.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.