gpt4 book ai didi

node.js - 按数组中的最后一项排序

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:42 26 4
gpt4 key购买 nike

我正在尝试按数组中的最后一项对其进行排序。这样我就可以按最近一年对人员进行排序。

这是我用来返回结果的函数。

router.get('/', (req, res) => {
const errors = {};
Person
.find()
.limit(pagingLimit)
.sort(
{year:[0]}
)
.then(people => {
if (!people) {
errors.noprofile = 'There are no profiles';
res.status(404).json(errors);
}

return res.json(people)
})
.catch(err => res.status(404).json({
nopeoplefound: 'No people found'
}));
});

这是我用来排序的项目的示例。

{
"first_name": "James",
"last_name": "Smith",
"years": [
{
"year": 2016,
"sector": "Produce",
"job_title": "Coroner"
},
{
"year": 2017,
"sector": "Produce",
"job_title": "Senior Coroner"
}
]
}

最佳答案

您可以通过聚合$unwind年,然后按年:-1排序:

Person.aggregate([
{ $unwind: "$years" },
{ $sort: { years: -1 }}
]).exec()
.then(result => ...)

查看working here

关于node.js - 按数组中的最后一项排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53415121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com