我有一个MongoDB系列,看起来像这样
const TransactionSchema = mongoose.Schema({
user: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
},
transactionType: {
type: String,
enum: [transactionTypes.TRANSACTION_EXPENSE, transactionTypes.TRANSACTION_INCOME],
required: true
},
amount: {
type: Number,
required: true
},
paymentType: {
type: String,
enum: [
transactionPaymentTypes.PAYMENT_CARD,
transactionPaymentTypes.PAYMENT_CASH
],
required: true
},
createdDate: {
type: Date,
default: Date.now
},
description: String,
tags: [String]
});
这表示两个用户之间的事务。
我想做的是按日期对数据进行分类。
因此,如果2018年5月15日有3笔交易,2018年5月16日有4笔交易,我想将它们分类如下
[
{
date: "15-05-2018",
transactions: [Transaction]
},
{
date: "16-05-2018",
transactions: [Transaction]
}
]
另外,我写了15-05-2018只是为了方便。实际上,数据将是一个时间戳。
怎么能做到这一点?
我在google上搜索,发现我们应该使用mongoose/mongodb的聚合功能,但我不明白如何使其工作。
注: