0

PHPでMongoDBのクエリを実行しようとしているときにエラーが発生しました。PHPのMongoDB集約の解析エラー

Parse error: syntax error, unexpected T_DOUBLE_ARROW in fiename.php on line 55

$findCount = array("$group" => (_id => "$createdby", count => ($sum:1))); //Line 55 
$cursor = $collection->aggregate($findCount); 

私は以前質問をしたが、解決に到着できなかったのほとんどを通り抜けました。ところで

が、これはMongoDBの中に私のクエリ

db.collection_name.aggregate([{"$group" : {_id:"$createdby", count:{$sum:1}}} ]) 

おかげ

答えて

0

あなたのパイプラインは、特に、いくつかの要素を配列構文が欠落しています。正しい構文は次のとおりです。

$findCount = array(
    array(
     "$group" => array(
      "_id" => "$createdby", 
      "count" => array("$sum" => 1) 
     ) 
    ) 
);  
$cursor = $collection->aggregate($findCount); 
+0

返信ありがとうございます。それは私の問題を解決しましたが、今私は '致命的なエラーを取得しています:メッセージ '長さゼロのキーは許可されていません、キャッチされない例外' MongoException '、二重引用符で$を使いましたか? in filename.php:63スタックトレース:#0 filename.php(63):MongoCollection-> aggregate(Array)#1メインフレームでfilename.phpにスローされたmain {メイン} ' – Anubhav

+0

この[question](http ://stackoverflow.com/questions/17024593) – chridam

+1

二重引用符を一重引用符に置き換えて使用しました。 PHPがそれらを変数として早期に認識していたと推測します。 ありがとうございます。 :) – Anubhav