Tengo un formulario donde los usuarios ingresan datos que incluyen una solicitud de más información. Estos datos se almacenan en una base de datos MongoDB. Los administradores pueden ver cada entrada en una tabla en una página separada llamada list-applicants.html , con una casilla de verificación en la última columna de cada fila que puede marcar la solicitud como "completa" para cada fila/entrada. El problema con el que me encuentro es que la casilla de verificación no se almacena en la base de datos.
Los datos se almacenan primero en una rutina POST en mi archivo server.js .
app.post('/api/applicants', async (req, res) => { console.log('You posted from a form!'); console.log(req.body); const data = { ...req.body, dateOfApplication: new Date() }; const collection = client.db("applications").collection("applicants"); try { await collection.insertOne(data); } catch (error) { console.log(error.message); } res.status(201); res.redirect('/list-applicants.html'); }); En mi archivo list-applicants.html tengo lo siguiente:
async function getAllApplicants() { const response = await fetch('/api/applicants'); const data = await response.json(); const { MongoClient, ServerApiVersion } = require('mongodb'); const dburi = process.env.DATABASE_URI; const client = new MongoClient(dburi, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 }); const tableContent = document.getElementById('table-content'); for (const applicant of data) { tableContent.innerHTML += ` <tr> <td>${applicant.fname}</td> <td>${applicant.lname}</td> <td>${applicant.email}</td> <td>${applicant.phone}</td> <td>${applicant.campus}</td> <td>${applicant.request}</td> <td>${applicant.dateOfAttendance}</td> <td><input type="checkbox" id="requestComplete" value="complete"></td> </tr> ` } } Entiendo que de alguna manera necesito hacer un POST a MongoDB desde el archivo list-applicants.html . No estoy muy seguro de cómo hacerlo en mi archivo list-applicants.js .