mongodb某一库中有一集合ids,其中的原始数据为db.ids.insert({'name':'user','id':0})
我想通过下面的方法实现一个自增长的id。代码如下:
public static function autoId($name, $db){
$update = array('$inc'=>array('id'=>1));
$query = array('name'=>$name);
$command = array('findAndModify'=>'ids', 'update'=>$update,'query'=>$query, 'new'=>true);
echo json_encode($command)."<br/>";//输出1
$id = $db->command($command);
echo json_encode($id)."<br/>";//输出2
return $id['value']['id'];
}
调用该方法并不能实现目标。输出结果为:
输出1: {"findAndModify":"ids","update":{"$inc":{"id":1}},"query":{"name":"user"},"new":true}
输出2: {"errmsg":"no such cmd","bad cmd":{"findAndModify":"ids","update":{"$inc":{"id":1}},"query":{"name":"user"},"new":true},"ok":0}请问这是怎么回事?会不会是mongo的版本问题?

解决方案 »

  1.   

    没用过mongodb。不知是个什么情况。
      

  2.   

    你的mongodb版本是?
    http://www.mongodb.org/display/DOCS/findAndModify+Command看文档是v1.3以上才支持
      

  3.   


    是1.4.4的啊 应该可以的  php版本会有影响吗?问题是换了台服务器就不行了啊