node.js - 为 mongodb 字段值使用变量。节点.JS
问题描述
我正在尝试为 Discord 学习机器人创建,并且我正在尝试设置一个命令以从命令中获取信息并使用它在 MongoDB 数据库中创建一个文档。我已经能够使用纯字符串文本作为值使用此代码执行此操作,但是当我尝试使用变量时,我会遇到一个错误,导致它们一起崩溃。我目前正在使用 MongoDB 的 localhost 安装进行测试。我正在使用最新的 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
我对编码还很陌生,所以我一点也不知道为什么会抛出这个错误,而且我无法从任何做类似事情的人那里找到任何东西。
编辑:我切换到 Mongoose 并且能够让它以这种方式工作。
解决方案
推荐阅读
- swift - AVFoundation:将原始 PCM 样本转换为 opus 数据包
- spss - 错误变量名不正确或未由 SPSS 中的先前命令定义(使用语法)
- html - 获取对包含特定 RDF 知识来源的微数据的文档的引用
- python-3.x - Django表单外键字段只读在更新表单期间给出值错误
- python - 如何使用正则表达式提取多个字符串?
- ios - 在后台 NSURLSession 中获取数据
- firebase - Firebase 托管设置,但仅适用于域名而不是网站的文件
- python-3.x - 在python中将日期字符串转换为带有时区的时间戳
- flutter - 如何在 Flutter Web 中居中 AppBar 内容
- c# - EF Core EnsureDeleted 抛出“使用用户 'sa' 登录失败”