Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

252
Visualizações
Mongoose no guarda datos de acuerdo con una función (discord.js)

Hoy, decidí hacer un bot RPG de Discord que, por supuesto, requiere estadísticas de perfil como monedas y usuarios reales. Por lo tanto, busqué un tutorial sobre cómo puedo hacer esto con MongoDB pero me encuentro con un problema. Cuando un miembro del gremio se une y el bot se está ejecutando, los datos no se guardan sin ningún error y no estoy seguro de por qué sucede esto. Intenté solucionar el estado de la conexión agregando una línea console.log(mongoose.connection.readyState) después de que el bot intenta conectarse a la base de datos. Esto devuelve 1 , lo que significa que la conexión está bien. No puedo encontrar ninguna otra razón por la que esto ocurra, así que decidí hacer una pregunta después de horas de pensar.

(index.js): Conexión a la base de datos

 const mongoose = require("mongoose"); mongoose.connect(process.env.MONGO_SERVER, { useNewUrlParser: true, useUnifiedTopology: true }).then(() => [ console.log("Connected to MongoDB Database successfully!"), console.log(mongoose.connection.readyState) ]).catch((err) => { console.error(err); });

(profileSchema.js): creación de un esquema de perfil

 const mongoose = require("mongoose"); const profileSchema = new mongoose.Schema({ id: { type: String, require: true, unique: true }, serverid: { type: String, require: true }, coins: { type: Number, default: 0 }, bank: { type: Number } }); const model = mongoose.model("ProfileModels", profileSchema); module.exports = model;

(guildMemberAdd.js): creación y carga de datos en la base de datos

 const profileModel = require('../models/profileSchema'); module.exports = async(client, discord, member) => { let profile = await profileModel.create({ id: member.id, serverid: member.guild.id, coins: 0, bank: 0 }) profile.save(); }
about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

La razón tiene que ver con la forma en que te conectas a mongo.

POR defecto, mongo cierra la conexión después de conectarse a una base de datos. Para hacer esto, cuando se conecte a mongo pass en la opción keepAlive , se vería así:

 mongoose.connect(process.env.MONGO_SERVER, { useNewUrlParser: true, useUnifiedTopology: true, keepAlive: true })

Esto significará que se mantendrá abierta una conexión activa a su base de datos.

about 4 years ago · Santiago Trujillo Relatório

0

¿Está exportando 'modelo' de profileSchema.js y requiere 'profileModel' de guildMemberAdd.js? así que importa el modelo de profileSchema y no de profileModel

about 4 years ago · Santiago Trujillo Relatório

0

Corrección: asegúrese de que se llame al evento guildMemberAdd agregando declaraciones de console.log .

Si no, comprueba si el código de guildMemberAdd es diferente a otros códigos de eventos.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda