我们的集合中有一个基本的版本控制系统,该系统使用字段(pageId
)作为根密钥。此页面的后续版本具有相同的pageId
。这使我们可以非常轻松地查找单个页面的所有版本。
如何运行一个查询,该查询针对每个不同的lastModified
仅返回pageId
文档。
在伪代码中,您可以说:
For each distinct pageId
sort documents based on lastModified descending
and return only the first document
答案 0 :(得分:0)
您可以使用aggregation pipelines。
示例:
db.getCollection('t01').aggregate([
{
$sort: {'lastModified': -1}
},
{
$group: {
_id: "$pageId",
element1: { $first: "$element1" },
element2: { $first: "$element2" },
elementN: { $first: "$elementN" },
}
}
]);