sql >> データベース >  >> NoSQL >> MongoDB

MongoDBを使用したシンプルな投票システム

    そのようにすると、どのユーザーがすでに投票したかを追跡できないため、ユーザーは複数回投票できます。それは確かにあなたの興味ではありません。

    そのため、各記事に「投票」の配列を追加します。この配列には、投票を行ったユーザーを一意に識別する各投票のオブジェクトが含まれています。

    votes: [ 
            { voter:"name or ID or IP address or some other unique identifier for the person who voted",
              vote:-1 },
            { voter:"someone else",
              vote:1 },
            { voter:"and someone entirely different",
              vote:-1 }
        ]
    

    記事IDとvotes.voterに対して一意のインデックスを作成すると、誰も記事に2回投票できないようになります。

    反対票に「-1」、賛成票に「1」の値を使用すると、$ sum集計関数を使用して記事の合計スコアを計算できます(後で、気が向いたときに加重投票を簡単に導入できます。いいね)




    1. CDPの運用データベース

    2. セロリはタスクごとに新しい接続を作成します

    3. PHPを使用してmongodbに日付とタイムスタンプを挿入および取得する

    4. AzureポータルのCosmosDBのAccountKeyはどこにありますか