我正在尝试为Discord学习机器人的创建,并且试图建立一个命令以从命令中获取信息,并使用它在MongoDB数据库中创建文档。我已经可以使用纯文本字符串作为值使用此代码来执行此操作,但是当我尝试获取变量时,会遇到一个错误,将其全部崩溃。我目前正在使用MongoDB的本地安装进行测试。我正在使用最新的Node.JS和MongoDB npm软件包。该命令设置为对变量使用“命令用户原因”。
const Discord = require("discord.js");
const mongodb = require('mongodb').MongoClient;
module.exports.run = async (bot, message, args) => {
var dburl = "mongodb://localhost:27017/";
var rUser = message.mentions.members.first();
if(!rUser) return message.channel.send("Couldn't find user.");
var rReason = args.join(" ").slice(22);
console.log("Basic variables set");
mongodb.connect(dburl, function(err, db) {
useNewUrlParser: true;
if (err) throw err;
console.log("Start connection");
var dbo = db.db("Viper");
console.log("dbo set");
var myobj = { time: message.createdAt, reporteduser: rUser, reportedby:
message.author.id, reportedin: message.channel, reason: rReason };
console.log("myobj set");
dbo.createCollection("reports", function(err, res) {
if (err) throw err;
console.log("Collection created!");
});
dbo.collection("reports").insertOne(myobj, function(err, res) {
if (err) throw err;
console.log("1 report filed");
})
console.log("Database Created!");
db.close();
console.log("Database Closed");
});
}
运行命令后,我通过“数据库已关闭”获取所有控制台日志,但随后引发链接错误。 https://i.gyazo.com/thumb/1200/9ae8f31997a953bb1e7a25d47e964edb-png.jpg
我对编码还很陌生,所以我丝毫没有线索为什么会引发此错误,而且我也无法从任何类似的人中找到任何东西。
编辑: 我改用猫鼬,并能够使其工作。