这应该是一般问题,但我是 mongodb 和 php 的新手,所以请多多包涵:-)。
我正在创建 blogpost 站点,并打算为每个博客提供唯一的 blogId,并且用户可以访问http://www.sitename.com/blogID。
我将计数器(作为整数)存储在 mongodb 中,并在有人发布他/她的博客时将其递增:
$collection = $collection = new MongoCollection($db, 'blogCount');;
$object = $collection->findOne();
$count = $object['count'];
$id = $object['_id'];
$collection->update(array('_id'=>$id),array('$inc' => array("count" => 1)));
$object = $collection->findOne();
$count = $object['count'];
到目前为止它工作得很好,但是如果多个用户同时尝试发布博客,它可能会为多个用户提供相同的 $count。
我怎样才能消除这个问题?谢谢。