MongoDBは初めてです。 私はPHPで簡単な練習プロジェクトを開発しようとしています。MongoDB投稿のための「好き」を保存するための最適なテクニック
{
"_id": ObjectId("57f099cf1ccbdd780b000029"),
"first_name": "Foo",
"last_name": "Bar",
"username": "foobar",
"email": "[email protected]",
"password": "$2y$10$5ec2yYQ8Xl1HH3zM6205LupR7hf/xOLLW9vU7VMYiUc317HB6p76e"
}
posts
コレクションドキュメンタリーの
例:ユーザーがコレクション内の文書の
users
コレクション
例:
は、私は次のように2つのコレクションを持っていますポストコレクションにメンター:
{
"_id": ObjectId("57ef7be11ccbdd4c17000029"),
"uid": ObjectId("57e6ff571ccbdd6016000029"),
"content": "Data of the post goes here!",
"time": NumberInt(1475312609),
"likes": [],
"comments": []
}
likes
キーが配列のようにユーザーIDを保存します。
私が直面している問題は、ユーザーがすでに投稿を気に入っている場合、違うボタンを表示することです。その場合、(セッションに格納されている)現在のユーザのユーザIDがlikes
の配列であるかどうかをチェックする必要があります。
今、私はlikes
配列全体をフェッチしており、PHPでユーザーIDを確認しています。
私はこの問題の最適な解決策は何だろうと考えていました。
ありがとうございました!
私は好きなもののために別のコレクションを作成します。 –
キーバリューペアを維持しますか?キーはポストIDで、値はユーザーIDです。あなたはこのテクニックを暗示していますか? – John