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」フィールドで並べ替えて、スター付きの結果が最初に表示され、次に作成日で並べ替えられるようにする必要があります。
ありがとう