這是貓鼬的方案檔案。
方案:
const mongoose = require("mongoose");
let holiday = new mongoose.Schema({
staff: String,
reason: String,
expected: Number
})
module.exports = mongoose.model("holiday", holiday);
這是我試圖獲取資料但無法正常作業的主檔案。
事件:
client.on('message', async message => {
let p = config.bot.prefix;
let client = message.client;
if (message.author.bot) return;
if (message.channel.type === 'dm') return;
if (!message.content.startsWith(p)) {
console.log(1)
let guild = client.guilds.cache.get(config.server.id)
if (!message.guild.id === "911962044985667584") return;
let role = message.guild.roles.cache.find(role => role.name === "On holiday");
if (!message.member.roles.cache.has("956942754502565908")) return;
const embed = new MessageEmbed()
.setTitle("Staff back from holiday")
.addField("Staff: ", message.author.tag, true)
const data = holidaydata.findOne({
staff: message.author.id
})
console.log(data.expected, data.reason, Date.now())
if (!data) return console.log("NO DATA")
if (Date.now() > data.expected) {
console.log(3)
message.member.roles.remove("956942754502565908")
message.member.roles.add("913070918404833300")
message.member.roles.add("913071151427780698")
client.channels.cache.get(channels.stafflogs).send({ embed: embed })
message.channel.send("Welcome back from holiday!")
return data.delete();
}
}
我從上面的代碼得到的控制臺輸出。
1
undefined undefined 1668502797493
我試圖檢查保存在資料庫中的時間戳是否等于或大于當前時間戳,以便我可以洗掉資料。
uj5u.com熱心網友回復:
你應該等待你的findOne電話。否則它將只回傳一個沒有屬性expectedor的 promise reason。使用以下代碼交換您的電話:
const data = await holidaydata.findOne({
staff: message.author.id
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/534200.html
