1
のmongoコマンドラインから次のコマンドの作品:のMongoDB - PHP - サポートされていない投影オプション
db.users.aggregate([
{'$match': 'eventDate':
{$gte: ISODate("2015-01-01T00:00:00.0Z"),
$lte: ISODate("2017-01-01T00:00:00.0Z")}
},
{'$project' :
{'year' :
{ $year: '$eventDate' }
}
}
])
が、これはPHPと同等でなければなりません:
$mongoConnection = new \MongoDB\Driver\Manager();
$collection = 'test.users';
$query = new \MongoDB\Driver\Query(
['eventDate' => array('$gte' => ISODate("2015-01-01T00:00:00.0Z, '$lte' => ISODate("2017-01-01T00:00:00.0Z)],
['projection' => ['year' => [ '$year' => '$eventDate' ]]]]
);
$cursor = $mongoConnection->executeQuery($collection, $query);
が、私は得る:サポートされていない投影オプションを:年:{$ year: "$ eventDate"}
クエリの「投影」部分を削除すると正しく実行されます。私はエラーを調査したが、唯一の答えは「投影フィールドの名前は$で始まらない」ということでした。
{$ year: "$ eventDate"}の組み合わせをすべて試しましたが、まだサポートされていない投影オプションのエラーが表示されます。
おかげ
あなたは「$ first.eventDate」を実行しようとしましたか? –
動作しません。 : –
年=> 1?私はマングースで何をしているのですか?数字だけを入れてください(0は表示されず、1は表示されます) –