Php 自动递增转换-我在这里缺少什么?
请参考以下位置 在指定的URL(上面)中,有一个java脚本中自动增量逻辑的示例代码,该代码已转换为php(我提供了下面的代码)-我无法使其无错误。有人能纠正我在转换过程中哪里出了问题吗Php 自动递增转换-我在这里缺少什么?,php,mongodb,Php,Mongodb,请参考以下位置 在指定的URL(上面)中,有一个java脚本中自动增量逻辑的示例代码,该代码已转换为php(我提供了下面的代码)-我无法使其无错误。有人能纠正我在转换过程中哪里出了问题吗 <?php function getNextSequence($name) { global $db; $ret = $db->counters->findAndModify( array( 'query'=>array( '_id'=
<?php
function getNextSequence($name) {
global $db;
$ret = $db->counters->findAndModify(
array(
'query'=>array( '_id'=>name),
'update'=>array( '$inc'=>
array('seq'=> 1) ),
'new'=>'true'
)
);
return $ret->seq;
}
$db = new MongoClient();
$db = $db->test;
$db->counters->insert(
array(
'_id'=>"userid",
'seq'=>0
)
);
$db->users->insert(
array(
'_id'=> getNextSequence("userid"),
'name'=> "Sarah C."
)
);
$db->users->insert(
array(
'_id'=> getNextSequence("userid"),
'name'=> "Bob D."
)
);
$ret = $db->users->find();
print_r($ret);
?>
PHP注意:在第6行的C:\PHP\seq.PHP中使用未定义的常量名称-假定为“name”
PHP致命错误:未捕获异常“MongoResultException”,在C:\PHP\seq.PHP:10中显示消息“需要删除或更新”
堆栈跟踪:
#0 C:\php\seq.php(10):MongoCollection->findAndModify(数组)
#1c:\php\seq.php(25):getNextSequence('userid'))
#2{main}
在第10行的C:\php\seq.php中抛出
$
变量缺少$
。
此外,传递给findAndModify助手的参数不正确,请参阅以获取更多信息
脚本的正确getNextSequence()应该是:
<?php
function getNextSequence($name) {
global $db;
$ret = $db->counters->findAndModify(
array( '_id' => $name),
array('$inc' => array('seq' => 1)),
array(),
array('new' => true)
);
return $ret["seq"];
}