MongoDB聚合和分页
我在每个文档中都有带有内部id字段的文档,以及添加此文档的日期。可能有许多文档具有相同的id(同一文档的不同版本),但这些文档的日期总是不同的。在一些查询中,我希望从同一文档的所有版本(具有相同的id字段)中只带来一个与指定日期相关的文档,并希望通过分页(页面中的50行)显示它们。那么,在MongoDB中是否有机会做到这一点(操作-按某个字段查询文档,按id字段对文档进行分组,按日期字段排序,只取第一个字段,所有这些都应该使用分页) 请参见示例:这些是文档,其中一些是不同的文档,如文档A、B和C,还有一些是相同文档的版本, like _id:1、2和3都是同一文档A的版本 文件A{ _id:1, “id”:“A”, “作者”:“价值”, “日期”:“2015-11-05” } 文件A{ _id:2, “id”:“A”, “作者”:“价值”, “日期”:“2015-11-06” } 文件A{ _id:3, “id”:“A”, “作者”:“价值”, “日期”:“2015-11-07” } 文件B{ _id:4, “id”:“B”, “作者”:“价值”, “日期”:“2015-11-06” } 文件B{ _id:5, “id”:“B”, “作者”:“价值”, “日期”:“2015-11-07” } 文件C{ _id:6, “id”:“C”, “作者”:“价值”, “日期”:“2015-11-07” } 我想查询所有在“作者”字段中有“值”的文档。 并从这些文件中仅带一份文件,其中每个文件的最新日期为 指定的日期,例如2015-11-08。因此,我预计结果是: _id:3、id:5、id:6 还有分页,例如每页10个文档 谢谢MongoDB聚合和分页,mongodb,mongodb-query,Mongodb,Mongodb Query,我在每个文档中都有带有内部id字段的文档,以及添加此文档的日期。可能有许多文档具有相同的id(同一文档的不同版本),但这些文档的日期总是不同的。在一些查询中,我希望从同一文档的所有版本(具有相同的id字段)中只带来一个与指定日期相关的文档,并希望通过分页(页面中的50行)显示它们。那么,在MongoDB中是否有机会做到这一点(操作-按某个字段查询文档,按id字段对文档进行分组,按日期字段排序,只取第一个字段,所有这些都应该使用分页) 请参见示例:这些是文档,其中一些是不同的文档,如文档A、B和C
\u id
。默认情况下,\u id
上有一个唯一的索引\u id
字段,其中包括日期:db.yourColl.find({
"_id":{
"docId": idToFind,
// get only the version valid up to a specific date...
"date":{ "$lte": someISODate }
}
})
// ...sort the results descending...
.sort("_id.date":-1)
// ...and get only the first and therefor newest entry
.limit(1)
\u id
。默认情况下,\u id
上有一个唯一的索引\u id
字段,其中包括日期:db.yourColl.find({
"_id":{
"docId": idToFind,
// get only the version valid up to a specific date...
"date":{ "$lte": someISODate }
}
})
// ...sort the results descending...
.sort("_id.date":-1)
// ...and get only the first and therefor newest entry
.limit(1)
你有什么可以查询的?身份证?日期?一系列的日期?您是否只想获取最新的id?到目前为止,您创建了哪些不起作用的查询?您好,感谢您的回复,请查看更新的问题和示例。一般来说,我希望在某个字段中显示所有具有“值”的文档,并且从每个不同的文档中,我只希望显示指定日期(例如2015-11-08)的最新版本(由日期字段指定)。谢谢你有什么可以查询的?身份证?日期?一系列的日期?您是否只想获取最新的id?到目前为止,您创建了哪些不起作用的查询?您好,感谢您的回复,请查看更新的问题和示例。一般来说,我希望在某个字段中显示所有具有“值”的文档,并且从每个不同的文档中,我只希望显示指定日期(例如2015-11-08)的最新版本(由日期字段指定)。感谢可能我不清楚,每个文档的_id当然不同,但是,假设每个文档中的“my_id”-字段是我的id,是相同的。谢谢你的回复,你能告诉我如何在这样的查询中进行分页吗?再次感谢!!!!也许我不清楚,每个文档的_id当然不同,但是,假设每个文档中的“my_id”-字段是我的id,是相同的。谢谢你的回复,你能告诉我如何在这样的查询中进行分页吗?再次感谢!!!!