I'm trying to store data to my MongoDB server, I wanted started of by trying to add a User data when a new user joins a server, but I keep getting buffered timeout. I've been looking for a solution for a whole day and nothing is working.
Here are some information:
I have whitelisted my ip in the atlas:
My Atlas Network Access
The connection code being used:
mongoose.connect(dbUrl, {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false,
})
.then(() => console.log("Database connected!")).catch(err => console.log(err));
My User Model:
const mongoose = require("mongoose");
const UserSchema = new mongoose.Schema({
userID: { type: String },
guildID: { type: String },
xp: { type: Number, default: 0 },
level: { type: Number, default: 0 },
balance: {type: Number, default: 0},
banned: {type: Boolean, default: false},
muted: {type: Boolean, default: false},
messages: {type: Number, default: 0},
lastUpdated: { type: Date, default: new Date() },
});
module.exports = mongoose.model('User', UserSchema);
My Mongo Connection
MONGO_URI=mongodb+srv://<username>:<password>!@personalcluster.rav32vj.mongodb.net/KingsData?retryWrites=true&w=majority
On User Join
const client = require('../index.js')
const levels = require('../models/Users')
const dotenv = require('dotenv')
dotenv.config()
client.on('guildMemberAdd', async (member) => {
const newUser = new levels({
userID: member.id,
guildID: process.env.GUILDID
});
await newUser.save().catch(e => console.log(`Failed to create user: ${e}`))
})