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