Estoy tratando de actualizar mi base de datos usando el método get, la razón detrás de actualizar la base de datos usando el método get es porque cuando se llame al método get, el valor aumentará automáticamente.
Este es mi código donde intento actualizar la base de datos dentro del método get. Es posible con mangosta, pero estoy usando MongoDB sin procesar para actualizarlo. es posible actualizar? o cualquier otra forma de actualizarlo automáticamente cuando se solicite /:shortUrl en el servidor.
app.get('/:shortUrl', async (req, res) => { const filter = { short: req.params.shortUrl } const updateDoc = { $inc: { clicks: 1 } } const urlDoc = await bicycleAffiliateLinksCollection.findOneAndUpdate(filter, updateDoc, { new: false, upsert: true }) console.log(urlDoc.value.short) res.redirect(`${urlDoc.value.full}?ref=${req.params.shortUrl}`) res.send({ shortLink: urlDoc.value.short }) })Puede usar el operador $inc en su lugar. Intente refactorizar el código como se muestra a continuación:
app.get('/:shortUrl', async (req, res) => { const filter = { short: req.params.shortUrl } const updateDoc = { $inc: { clicks: 1 } } const urlDoc = await bicycleAffiliateLinksCollection.findOneAndUpdate(filter, updateDoc, { new: true, upsert: true }) console.log(urlDoc) res.send({ shortLink: urlDoc.short }) }) upsert creará un nuevo documento si falta y new devolverá el contenido del nuevo documento.