私は評価システムに取り組んでいます。ユーザーが評価すると、$inc はフィールドをインクリメントしaddToSet
、user_id を追加して、ユーザーが評価を 1 回だけクリックするようにします。更新する前に user_id が既に x フィールドにあるかどうかを確認していますが、これは避けたい別のクエリです。別のクエリを作成しなくても、この目的を達成できますか? $addToSet
つまり、そのような値がない場合にのみ追加します。代わりに影響を受ける行を取得できますか? 他のクエリを提案できますか?
ありがとうございました!
..->update(
array("_id" => $idob),
array(
'$inc' => array($type => (int) 1),
'$addToSet' => array("x" => (int) $user_id)
)
);