订单收集
[
{
id: 1,
OrderStatus: "Shipped",
"PurchaseDate" : "2018-01-29T20:59:55Z",
},
{
id: 2,
OrderStatus: "Shipped",
"PurchaseDate" : "2018-01-30T20:59:55Z",
},
{
id: 3,
OrderStatus: "Shipped",
"PurchaseDate" : "2018-01-30T20:59:55Z",
}
];
订单详细信息收集
[
{
orderid: 1,
"QuantityShipped" : "1",
"Amount" : "10",
},
{
orderid: 2,
"QuantityShipped" : "2",
"Amount" : "20",
},
{
orderid: 3,
"QuantityShipped" : "1",
"Amount" : "30",
},
{
orderid: 3,
"QuantityShipped" : "1",
"Amount" : "30",
}
];
结果:
{
sales: 80,
count: 3
}
根据购买日期2018-01-30T20:59:55Z
获得此结果。
首先,我们需要从购买日期中减去7个小时,然后进行过滤。可以说
如果我减去7小时2018-01-30T20:59:55Z
,则日期可能会改变,也可能不是。那么我们必须
根据日期进行过滤。
销售将基于订单明细汇总的总和进行计算。 计数将基于订单明细计数。
如何在mongo db中编写查询。
答案 0 :(得分:1)
您可以使用$dateFromString
将日期/时间字符串转换为日期对象,然后可以简单地通过groupby查询并获得此结果
关注此链接https://docs.mongodb.com/manual/reference/operator/aggregation/dateFromString/