-1

mongo クエリを実行するための次のコードがあります。「mongotester」は DB 名で、「categories」はコレクション名です。

PECL mongodb ライブラリを使用しています

$m = new Mongo();
$db = $m->selectDB('mongotester');
$a = $db->execute('return mongotester.categories.count();');
echo "<pre>";
var_dump($a);
echo "<pre>";

これを実行していると、次のエラーが発生します。

array(3) {
   ["errno"]=>
   float(-3)
  ["errmsg"]=>
     string(78) "invoke failed: JS Error: ReferenceError: mongotester is not defined     nofile_a:0"
  ["ok"]=>
  float(0)
}

これを修正するのを手伝ってください。

ありがとう

phpqa.in

4

1 に答える 1

1

カウントのためにjavascriptをexecute()しようとするのではなく、コレクションを直接参照できます。例:

$m = new Mongo();
$db = $m->selectDB('mongotester');
$a = $db->categories->count();
echo "<pre>";
var_dump($a);
echo "<pre>";

この場合のvar_dumpは、実際にカテゴリコレクションにデータを挿入していない限り、int(0)を表示するだけです。

于 2012-06-14T14:08:39.707 に答える