Im getting this following error when trying to add a member to an array on MongoDB:
(node:13208) UnhandledPromiseRejectionWarning: Error: cyclic dependency detected
at serializeObject (C:\Users\alfie\Desktop\Discord Bot\node_modules\bson\lib\bson\parser\serializer.js:334:34)
at serializeInto (C:\Users\alfie\Desktop\Discord Bot\node_modules\bson\lib\bson\parser\serializer.js:938:17)
at serializeObject (C:\Users\alfie\Desktop\Discord Bot\node_modules\bson\lib\bson\parser\serializer.js:348:18)
at serializeInto (C:\Users\alfie\Desktop\Discord Bot\node_modules\bson\lib\bson\parser\serializer.js:836:17)
at serializeObject (C:\Users\alfie\Desktop\Discord Bot\node_modules\bson\lib\bson\parser\serializer.js:348:18)
at serializeInto (C:\Users\alfie\Desktop\Discord Bot\node_modules\bson\lib\bson\parser\serializer.js:938:17)
at serializeObject (C:\Users\alfie\Desktop\Discord Bot\node_modules\bson\lib\bson\parser\serializer.js:348:18)
at serializeInto (C:\Users\alfie\Desktop\Discord Bot\node_modules\bson\lib\bson\parser\serializer.js:938:17)
at serializeObject (C:\Users\alfie\Desktop\Discord Bot\node_modules\bson\lib\bson\parser\serializer.js:348:18)
at serializeInto (C:\Users\alfie\Desktop\Discord Bot\node_modules\bson\lib\bson\parser\serializer.js:938:17)
at serializeObject (C:\Users\alfie\Desktop\Discord Bot\node_modules\bson\lib\bson\parser\serializer.js:348:18)
at serializeInto (C:\Users\alfie\Desktop\Discord Bot\node_modules\bson\lib\bson\parser\serializer.js:938:17)
at serializeObject (C:\Users\alfie\Desktop\Discord Bot\node_modules\bson\lib\bson\parser\serializer.js:348:18)
at serializeInto (C:\Users\alfie\Desktop\Discord Bot\node_modules\bson\lib\bson\parser\serializer.js:938:17)
at BSON.serialize (C:\Users\alfie\Desktop\Discord Bot\node_modules\bson\lib\bson\bson.js:63:28)
at Query.toBin (C:\Users\alfie\Desktop\Discord Bot\node_modules\mongodb-core\lib\connection\commands.js:146:25)
Here is the code:
const Discord = require("discord.js");
const CircularJSON = require('circular-json');
const mongoose = require("mongoose");
const Teams = require("../models/teams.js")
const fs = require("fs");
mongoose.set('useFindAndModify', false);
module.exports.run = async(bot, message, args) => {
let addMember = message.mentions.members.first(); // message.mentions.members.first() should be used instead; also we're just gonna grab the member ID here as it'll be used elsewhere
try {
let team = await Teams.findOne({
CaptainID: message.author.id
});
if (!team) return message.reply("You are not captain of a team currently, create on using %createteam <team name>");
if (team.Members.length < 0 && team.Members.includes(addMember)) return message.reply("That Member is already in the team!");
else return Teams.findOneAndUpdate({
$push: {
Members: addMember
}
});
} catch (err) {
console.log(err);
return message.channel.send(`Error adding a member: **${err.message}**`);
}
} // closes module.exports
module.exports.help = {
name: "addmember"
}
Has anyone here experienced this issue before? I've updated to the latest version of Mongoose. But one thing I did notice is that when doing npm audit it finds 3 vulnerabilities which I cannot fix:
