En la terminal de mi IntelliJ, puedo llamar a "node mongoDB.js" y recuperar los datos de muestra en mi base de datos. Sin embargo, cuando voy a iniciar la página index.html, aparece un error en la pantalla de la consola de: "Error de referencia no detectada: require no está definido mongoDB.js:1 en mongoDB.js:1" Traté de ver si el El botón no funcionaba con un error de javascript, pero pudo hacer que apareciera una palabra codificada. Cualquier ayuda sería apreciada. Código a continuación:
async function main() { const uri = "mongodb+srv://<usr>:<pass>@cluster0.dfgj3.mongodb.net/myFirstDatabase?retryWrites=true&w=majority"; const client = new MongoClient(uri); try { await client.connect(); await listDatabases(client); } catch (e){ console.error(e); } finally { await client.close(); } } main().catch(console.error); async function listDatabases(client) { const databasesList = await client.db().admin().listDatabases(); console.log("Databases:"); databasesList.databases.forEach(db => console.log(` - ${db.name}`)); }; function displayQuery() { let text1 = "Hello"; document.getElementById("query").innerHTML = text1; } displayQuery();
<html> <head> <meta charset="UTF-8"> <title>TITLE</title> <script src="fetchAPI.js" type="text/javascript"></script> <script src="mongoDB.js" type="text/javascript"></script> <link href="styles.css" rel="stylesheet"> </head> <body> <div class="my-grid"> <p class="span-three"> NOTE: ticker AAPL is just arbitrary Stock: <input id = "ticker" value = "AAPL"></input> <br/> <button onclick="displayQuery()" id= "submit" >Submit</button> <p id="query"></p> </p> </div> </body> </html>
MongoDB es solo del lado del servidor. Estás tratando de llamarlo en una página principal. Estas son cosas diferentes.
Para que su página web cargue datos desde su base de datos, debe crear una API. La API recuperaría los datos y se los devolvería.
Aquí hay un enlace de un foro oficial https://www.mongodb.com/community/forums/t/why-doesnt-mongodb-work-with-client-side-js/9062