Estoy tratando de hacer un RPG Discord Bot, donde puedes nivelar habilidades, vender artículos, etc. Recientemente, un amigo mío refactorizó todo el código. Todo está funcionando, además del comando de inicio:
Antes del refactor, guardaría todo correctamente. Posteriormente, no guardó la propiedad maxLevel para ninguna habilidad y comenzó a guardar las propiedades de ObjectID .
Skills/start.js
await new client.database.user({ userID: interaction.user.id, inventory: [], coins: 250, skills: [ { name: 'Strength', level: 1, exp: 0, maxLevel: 50, }, { name: 'Agility', level: 1, exp: 0, maxLevel: 50, }, { name: 'Knowledge', level: 1, exp: 0, maxLevel: 50, }, { name: 'Trading', level: 1, exp: 0, maxLevel: 50, }, { name: 'Challenge', level: 1, exp: 0, maxLevel: 5, }, { name: 'Hunting', level: 1, exp: 0, maxLevel: 50, } ], mobsKilled: 0, bossesKilled: 0, created: moment().format('DD/MM/YYYY'), heavenDifficulty: Math.floor(Math.random() * 9 + 1), }).save(); Schemas/User.js
import mongoose from 'mongoose'; const userSchema = mongoose.Schema({ userID: String, guild: { guildID: String, guildName: String, position: String }, inventory: [{ name: String, amount: Number }], coins: Number, skills: [{ name: String, level: Number, exp: Number }], mobsKilled: Number, bossesKilled: Number, created: String, heavenDifficulty: Number, isPremium: Boolean, premium: { since: String, sinceTS: String, //TS = Timestamp tier: String } }); const UserSchema = mongoose.model('users', userSchema); Además, sé que las propiedades premium están vacías. Esto se debe a que quiero agregarlos a la base de datos cuando alguien se convierte en miembro premium y no cuando comienza su viaje.
Editar: esto es lo que está devolviendo (todas las propiedades undefined deben ser la propiedad maxLevel )
:
"Después, no guardó la propiedad maxLevel..."
¿El problema ocurre porque necesita agregar una propiedad maxLevel al esquema de su base de datos?