gpt4 book ai didi

javascript - Mongoose 查询过去 24 小时内获得点赞的文档

转载 作者:太空宇宙 更新时间:2023-11-03 23:48:05 25 4
gpt4 key购买 nike

我有这个文章架构:

   var article  = new mongoose.Schema({

....

likes: [{
id: ObjectId,
by: {type: ObjectId, ref: 'User'},
created_at: {type: Date, default: Date.now}

}],

....
}, {timestamps: {createdAt: 'created_at'}});

我将故事获得的点赞存储在其中。正如您所看到的,喜欢字段存储了喜欢该文章的用户以及他们喜欢该故事的时间。

现在我想查询最近24小时内所有被点赞的文章。在 Mongoose 中怎么可能做到这一点?

最佳答案

您可以使用$max获取最后一个日期,然后使用 $match检查该日期是否大于 24 小时前:

Model.aggregate([
{
$addFields: {
lastDate: { $max: "$likes.created_at" }
}
},
{
$match: {
lastDate: {
$gte: new Date(ISODate().getTime() - 1000 * 60 * 60 * 24 )
}
}
}
])

关于javascript - Mongoose 查询过去 24 小时内获得点赞的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60290451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com