Tengo un problema con mongo db. Siempre obtengo una matriz vacía de mi solicitud de colección llena de registros. Funcionó anteriormente pero con una estructura diferente donde me conectaba a la base de datos en los puntos finales. Ahora, después de la refactorización, las consultas no parecen devolver ningún registro. La colección y el objeto db se devuelven correctamente.
Estoy usando el último sveltekit con vite
Mis funciones en $lib/mongodb/db:
const url = MONGODB_URI; const client = new MongoClient(url); const dbName = 'Destinations'; export async function connectToDatabase(coll: string) { await client.connect(); console.log('Succesfully connnected to the server'); const db = client.db(dbName); const collection = db.collection(coll); return collection; } export async function getCountries() { const collection = await connectToDatabase('Countries'); // const collection = db.collection('Countries'); const query = await collection.find({}).toArray(); console.log(query); return query; // .finally(() => client.close()); }Punto final:
import { getCountries } from '$lib/mongodb/db'; export async function get() { try { const countriesArr = await getCountries(); return { status: 200, body: { countriesArr } }; } catch (err: any) { return { status: 500, body: { error: err.message } }; } }Creo que el problema ya está en la función getCountries() porque console.log(query) ya devuelve una matriz vacía.
Lo resolví, tenía un nombre de base de datos incorrecto, cuando miré mi brújula mongodb me di cuenta de esto. Lo confundí con el nombre del clúster/proyecto en la aplicación web mongodb.