我正在研究评级系统。当用户评分时,$inc 增加该字段,并addToSet
添加 user_id 以确保用户只点击一次评分。我在更新之前检查 user_id 是否已经在 x 字段中,但这是我宁愿避免的另一个查询。我可以在不编写另一个查询的情况下达到这个目的吗?我的意思是,$addToSet
只有在没有这样的价值时才添加;我可以改为获得受影响的行吗?你能建议其他查询吗?
谢谢!
..->update(
array("_id" => $idob),
array(
'$inc' => array($type => (int) 1),
'$addToSet' => array("x" => (int) $user_id)
)
);