0
$ project、$ match、$ sort(_id)を実行する作業集計呼び出しがありますが、これは完璧に機能します。
私のアプリを最適化するために、カーソル関数が返された後、PHPアプリケーションのdatetime文字列で実際にソートしているため、最後に$ sort部分を削除しようとしました。なぜ私はもはや_idで並べ替えることを望んでいないのです。
ただし、パイプラインのこの部分を削除すると、データは返されません。これは私の電話の必須部分ですか?
$pipeline = [
['$project' => [
'date' => '$date',
'time' => '$time',
'datetime' => '$datetime',
'dev_id' => '$dev_id'
],
],
['$match' => [
'dev_id' => ['$in' => $deviceIdArray],
'datetime' => ['$gte' => $this->dateFrom, '$lte' => $this->dateTo]],
],
['$sort' => ['_id' => -1],
],
];