我想洗掉用戶注冊、創建帳戶但未通過上傳某些影像完成驗證程序的應用中所有未完成的帳戶...
我正在運行一個每 24 小時執行一次此任務的 cron 作業......
我想洗掉 imageUrlOne & imageUrlTwo == "" AND createdAt 超過 24 小時的所有物件。
我當前的代碼不起作用,知道我做錯了什么嗎?
謝謝
const User = require("../models/user-model")
const removeInactiveAccounts = async () => {
let twentyFourHours = miliseconds(24, 0, 0)
// hours, min, seconds
function miliseconds(hrs, min, sec) {
return (hrs * 60 * 60 min * 60 sec) * 1000
}
let startDate = Date.now() // todays date
let endDate = startDate - twentyFourHours // 24 hours ago from today
try {
await User.deleteMany({
imageUrlOne: "",
imageUrlTwo: "",
createdAt: {
$gte: startDate,
$lte: endDate,
},
})
} catch (err) {
console.log(err.message)
}
}
module.exports = removeInactiveAccounts
uj5u.com熱心網友回復:
你的跡象有點混亂。
你說的不僅僅是“現在”,而且還不到 24 小時前。
為簡單起見,假設“現在”是86400. 那將使 "24 小時前" 0。
所以,你有:createdAt >= 86400 && createdAt <= 0。
好吧,那是不可能的。任何數字都不能同時大于 86,400 和小于 0。
在這種情況下,您根本不需要包含開始日期。拋棄它,并且 createdAt 小于 endDate ,你應該會很好。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/451913.html
標籤:javascript 猫鼬
