1

次の場所を参照してください http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/

指定された URL (上記) には、PHP に変換された Java スクリプトの自動インクリメント ロジックのサンプル コードがあります (以下のコードを提供しました) - エラーが発生しないようにすることはできません。変換で間違ったところを誰かが修正できますか?

<?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:10 スタック トレース: #0 C:\php\seq.php(10): MongoCollection->findAndModify(Array) #1 C:\php\seq.php(25): getNextSequence('userid') #2 { main} が C:\php\seq.php の 10 行目にスローされる

4

1 に答える 1