我有类似
的数据{
"_id" : ObjectId("5b63e593f033ab66fa25a142"),
"percent_change_1h" : 0.37,
"percent_change_24h" : -3.91,
"percent_change_7d" : -7.08,
"last_updated" : 1533273443,
"created_at" : "2018-08-03 05:18:11",
"updated_at" : "2018-08-03 05:18:11"
}
它的created_at日期是这样的“ 2018-08-03 05:18:11” 但我可以在聚合函数(如“ 2018-08-03”)中传递日期 数据不在此匹配中
我无法使用$ gte或$ lte,因为仅获取给定的日期数据 查询在这里
$date = "2018-08-15";
$filters = ['$match'=>[
'quotes'=>$quotes,
'created_at' => $date]
];
$join = ['$lookup'=>[
'from' => "cryptocurrencies_list",
'localField'=> "crypto_list_id",
'foreignField'=> "_id",
'as'=>"listdata"]
];
$limits = ['$limit'=>10];
$query = $detailscollection->aggregate([$filters,$join,$limits]);
答案 0 :(得分:0)
您可以尝试以下汇总
$detailscollection->aggregate([
[
'$addFields' => [
'date' => [
'$dateToString' => [
'date' => [
'$dateFromString' => [
'dateString' => '$created_at',
'timezone' => 'America/New_York'
]
],
'format' => '%Y-%m-%d'
]
]
]
],
[
'$match' => [
'date' => $date, 'quotes' => $quotes
]
]
])