这是我在 mongodb 中的数据库集合
{
"_id" : 0,
"name" : "+Anima",
"author" : "MUKAI Natsumi",
"type" : [
"Adventure",
"Fantasy"
],
"chapters" : [
{
"chapterName" : "+Anima 56",
"chapterLink" : "http://...",
"groupTranslate" : "Manga Palace Group",
"dateUpload" : 1359478800000,
"chapterNumber" : 56.0000000000000000,
"images" : [
"img0",
"img1",
"img2",
"img3"
]
},
{
"chapterName" : "+Anima 55",
"chapterLink" : "http://....",
"groupTranslate" : "Manga Palace Group",
"dateUpload" : 1410109200000,
"chapterNumber" : 55.0000000000000000,
"images" : [
"img0",
"img1",
"img2",
"img3"
]
}
]
}
我无法使用java代码在mongodb中找到按“dateUpload”排序的列表章节。请帮忙。
最佳答案
蒙戈 $aggregation 将解决您的问题。下面先查询$unwind您的 chapters
数组,然后对 dateUpload
db.collectionName.aggregate({
"$unwind": "$chapters" // unwind breaks the chapters array
}, {
"$sort": {
"chapters.dateUpload": -1 // then seperated chapters array sorted by dateUpload
}
}, {
"$group": {
"_id": "$_id",
"chapters": {
"$push": "$chapters" // group used for grouping chapters array
}
}
}).pretty()
为了将上述查询转换为 Java 代码格式,请遵循下面的 mongo 聚合 Java 驱动程序代码。 Java Driver and Aggregation Framework
关于java - 如何在java中对复杂集合mongodb中的列表进行排序和获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29327931/