当使用$ project,$ frequency和$ group时,Mongoose按日期排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当使用$ project,$ frequency和$ group时,Mongoose按日期排序相关的知识,希望对你有一定的参考价值。
下面的查询返回每周聚合的数据,没有特定的顺序。我希望看到它们按日期顺序从旧到新。
createdTime是类型Date。
我希望结果按周顺序排列,例如49,50,51,52,00,01,02等
{
"aggregate": [
{
"$project": {
"frequency": {
"$dateToString": {
"format": "%U",
"date": "$createdTime"
}
}
}
},
{
"$group": {
"_id":"$frequency",
"count": {
"$sum": 1
}
}
}
]
}
但它们以随机顺序返回(其中_id是周数):
{
{
"_id": "52",
"count": 51
},
{
"_id": "07",
"count": 4103
},
{
"_id": "51",
"count": 2608
},
{
"_id": "49",
"count": 69599
},
{
"_id": "01",
"count": 4418
}
}
我该如何按日期排序?我试过在很多地方添加排序,但无济于事。
答案
希望这对你有用。
{
"aggregate": [
{
"$project": {
"frequency": {
$concat:[{
"$dateToString": {
"format": "%Y",
"date": "$createdTime"
},{
"$dateToString": {
"format": "%U",
"date": "$createdTime"
}]
}
}
},
{
"$group": {
"_id":"$frequency",
"count": {
"$sum": 1
}
}
},{$sort:{_id:-1}}
]
}
输出将如下所示
{
{
"_id": "201807",
"count": 4103
},
{
"_id": "201801",
"count": 4418
},
{
"_id": "201752",
"count": 51
},
{
"_id": "201751",
"count": 2608
},
{
"_id": "201749",
"count": 69599
}
}
以上是关于当使用$ project,$ frequency和$ group时,Mongoose按日期排序的主要内容,如果未能解决你的问题,请参考以下文章
tf-idf(term frequency–inverse document frequency)含义
gperftools 不精确与 CPUPROFILE_FREQUENCY
r语言中hist的结果的纵坐标怎么选择是density和frequency