Digamos que tengo esto:
const db = require('../../Models/warns') const { Message, MessageEmbed } = require('discord.js') const reason = args.slice(1).join(" ") db.findOne({ guildid: message.guild.id, user: user.user.id}, async(err, data) => { if(err) throw err; if(!data) { data = new db({ guildid: message.guild.id, user : user.user.id, content : [ { moderator : message.author.id, reason : reason } ] }) } else { const obj = { moderator: message.author.id, reason : reason } data.content.push(obj) } data.save() }); ¿Por qué push no está definido ( TypeError: Cannot read properties of undefined (reading 'push') )? ¿Hay algo que me estoy perdiendo?
Me pasa lo mismo si tengo esto:
const sembed = new MessageEmbed() .setTitle(`${user.user.tag}'s warns`) .setDescription( data.content.map( (w, i) => `\`${i + 1}\` | Moderator : ${message.guild.members.cache.get(w.moderator).user.tag}\nReason : ${w.reason}` ) ) .setColor("BLUE") message.channel.send({ embeds: [sembed] });el mapa tampoco está definido.
(Estoy usando discordjs v13)
Modelos/avisos:
const { Schema, model } = require('mongoose'); module.exports = model("warns", new Schema({ userId: String, guildId: String, moderatorId: String, reason: String, timestamp: Number, }) );NOTA: este código se utiliza con el paquete mongoose npm (una base de datos, muy parecida a quick.db pero mejor)