我们在 MongoDB 中有一组用户提交的帖子,它们可以被其他用户“加星标”。我想知道实现这一目标的最佳方法是什么?
我的第一个猜测是将一组用户 ID 放在一个已加注星标的帖子上,如下所示:
{
created:Date
title:String
content:String
...
starred_by:[ObjectId] // Array of users by id that have starred the post
}
然后,当我们执行 find() 时,我想通过以下方式订购:
$sort: {
starred_by:{$in:[session.user_id]},
created:-1
}
这可能吗?我正在努力寻找有关它的任何文档。我们真的希望查找的结果首先按“starred_by”字段排序,这样加星标的结果首先出现,然后按创建日期排序。
谢谢