0
我有这些文件分组文件的最新版本,猫鼬查询返回的单场
{
"_id" : 1,
"fId" : "test",
"pId" : "test",
"url" : "A",
"subfolder" : "a"
}
,
{
"_id" : 3,
"fId" : "test",
"pId" : "test",
"url" : "A",
"subfolder" : "b"
}
,
{
"_id" : 5,
"fId" : "test",
"pId" : "test"
"url" : "A",
"subfolder" : "c"
}
,
{
"_id" : 2,
"fId" : "test",
"pId" : "test",
"url" : "B",
"subfolder" : "a"
}
,
{
"_id" : 4,
"fId" : "test",
"pId" : "test",
"url" : "B",
"subfolder" : "b"
}
,
{
"_id" : 7,
"fId" : "test",
"pId" : "test",
"url" : "A",
"subfolder" : "d"
}
,
{
"_id" : 8,
"fId" : "test",
"pId" : "test",
"url" : "B",
"subfolder" : "d"
}
,
{
"_id" : 9,
"fId" : "test",
"pId" : "test",
"url" : "A",
"subfolder" : "e"
}
,
{
"_id" : 10,
"fId" : "test",
"pId" : "test",
"url" : "B",
"subfolder" : "e"
}
,
{
"_id" : 6,
"fId" : "test",
"pId" : "test",
"url" : "B",
"subfolder" : "c"
}
如何根据_id,按我写猫鼬查询到这些文档进行排序子文件夹,并返回最近的5个组。
预期的结果是
group 1:
[{
"_id" : 10,
"fId" : "test",
"pId" : "test",
"url" : "B",
"subfolder" : "e"
},
{
"_id" : 9,
"fId" : "test",
"pId" : "test",
"url" : "A",
"subfolder" : "e"
}]
,
group 2:
[{
"_id" : 8,
"fId" : "test",
"pId" : "test",
"url" : "B",
"subfolder" : "d"
}
,
{
"_id" : 7,
"fId" : "test",
"pId" : "test",
"url" : "A",
"subfolder" : "d"
}]
,
group 3:
[{
"_id" : 6,
"fId" : "test",
"pId" : "test",
"url" : "B",
"subfolder" : "c"
}
,
{
"_id" : 5,
"fId" : "test",
"pId" : "test"
"url" : "A",
"subfolder" : "c"
}]
,
group 4:
[{
"_id" : 4,
"fId" : "test",
"pId" : "test",
"url" : "B",
"subfolder" : "b"
}
,
{
"_id" : 3,
"fId" : "test",
"pId" : "test",
"url" : "A",
"subfolder" : "b"
}]
,
group 5:
[{
"_id" : 2,
"fId" : "test",
"pId" : "test",
"url" : "B",
"subfolder" : "a"
}
,
{
"_id" : 1,
"fId" : "test",
"pId" : "test",
"url" : "A",
"subfolder" : "a"
}]
我试着查询
model.aggregate(
[
{$match : {fId : "test" , pId : "test"}},
{$group : {_id : "$subfolder", recording: { $push: "$$ROOT" } }},
{$skip : 5*(pageNumber-1)},
{$sort : {"_id": -1}},
{$limit : 5 }
]
)
我看到一些随机的5组,而不是最近的,并且结果也不按_id排序。
试过,但没有任何反应。 – Sabreena
@Sabreena它可以很好地处理您在问题中提供的数据...请参阅编辑 – felix
它分组得很好,但我需要根据文档的_id进行排序。这就是我需要最近两个具有相同子文件夹的文档(_id:10是最近的文档) – Sabreena