Estoy haciendo un comando de mendicidad para mi bot de discordia, ¡pero $inc no está incrementando el valor! También tengo este problema para mi comando de advertencia. Sin embargo, debo mencionar que no tengo mucha experiencia con mongodb.
mi código es:
const schema = require('../schemas/moneyschema') module.exports.run = async(client, msg, args) => { const givers = [ "Elon Musk", "Jeff Bezos", "Your Crush", "Mike Oxlong" ] const giver = givers[Math.floor(Math.random() * givers.length)] const givenMoney = Math.floor(Math.random() * 501) if (schema.findOne({ _id: msg.author.id })) { schema.updateOne({ $inc: { "money": givenMoney } }) msg.reply(`${giver} gave you $${givenMoney}`) } else { let newData = new schema({ _id: msg.author.id, money: givenMoney }) newData.save() msg.reply(`${giver} gave you your first $${givenMoney}`) } } module.exports.help = { name: "beg", aliases: [] }¿Hay alguien que tenga experiencia con mongodb y sepa cómo funciona esto?
Mongoose no predecirá para qué gremio debe incrementar el campo. No ha especificado un filtro que sea el primer argumento en el método updateOne en mongoose. Puedes leer sobre esto aquí
schema.updateOne({_id: msg.author.id},{ $inc: { "money": givenMoney } })debería arreglarlo