1
從蒙戈命令行下面的命令作品:的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」? –
不起作用。 :( –
year => 1?這就是我們在貓鼬中所做的事情,只需把數字(0表示不顯示,1表示) –