【发布时间】:2019-01-24 11:08:22
【问题描述】:
我有类似的数据
{
"_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]);
【问题讨论】:
-
这里有什么问题?
-
@anthony Winzlet 问题是查询不返回任何数据
-
这里的
quotes是什么?createdAt字段的类型是什么?你的 mongodb 版本是多少? -
先生,我的数据库条目是这样的 { "_id" : ObjectId("5b63e593f033ab66fa25a142"), "crypto_list_id" : ObjectId("5b63dfc1f033ab605c1bb2d2"), "rank" : 1, "quotes" : "USD" ,“percent_change_7d”:-7.08,“last_updated”:1533273443,“created_at”:“2018-08-03 05:18:11”,“updated_at”:“2018-08-03 05:18:11”}跨度>
-
我没有为 createdAt 或任何其他字段设置任何类型。对我有什么建议
标签: mongodb mongodb-query