node.js - Mongoose:如何根据日期对 Json 数组进行排序
问题描述
这是我的学生模式:
var studentSchema = new mongoose.Schema({
name: String,
id: Number,
studmobil: Number,
email: String,
address: String,
isadult: Boolean,
isparent: Boolean,
date_of_join: {
type: Date,
default: Date.now
},
date_of_birth: Date,
father_name: String,
mother_name: String,
parentmob: Number,
parentemail: String,
rank:{
type: mongoose.Schema.Types.ObjectId,
ref: "Rank"
},
graduated: {
type: Boolean,
default: false
},
payments: [
{
payment_type: String,
amount: Number,
payment_date: Date
}
]
});
我正在尝试根据日期(最新的优先)按降序对我的付款数组进行排序。这是我尝试使用的代码:
Student.findById(req.params.id).sort({"payments.payment_date": -1}).populate("rank").exec(function(err, foundstud) {
console.log(foundstud)
});
这是我得到的输出:
payments:
[ { _id: 5b7c24f2b3baa30ba965e55b,
payment_type: 'Tests',
amount: 600,
payment_date: 2018-08-08T00:00:00.000Z },
{ _id: 5b7c2502b3baa30ba965e55c,
payment_type: 'Membership',
amount: 1000,
payment_date: 2018-08-21T00:00:00.000Z } ],
数组仍然按照插入的顺序排列。我错过了什么?
解决方案
推荐阅读
- css - 在 div 内有 div stetch 并填充空的 div 空间
- php - 在ajax和json中读取变量js
- matplotlib - 在 Matplotlib 中使用组合列表的几个带有子图的图形
- c# - WPF XAML 限定属性值导致异常
- java - 无法在浏览器中运行此小程序代码
- android - 将片段添加到片段
- git - Jenkins - 基于推送构建的多分支管道
- kubernetes - 是否可以始终将配置映射安装到 Kubernetes 中的所有 pod
- tensorflow - 随机读取 .h5 文件中的元素而不加载整个矩阵
- javascript - 是否可以在 TypeScript 中使用可以根据输入/输出类型链接的通用装饰器?