在MongoDB中,可以使用聚合框架来按日期排序并按标签分组。下面是一个示例解决方案,包含代码示例:
假设我们有一个名为"posts"的集合,每个文档包含一个日期字段和一个标签字段。我们想要按日期排序并按标签分组。
db.posts.aggregate([
{ $sort: { date: 1 } }
])
db.posts.aggregate([
{ $sort: { date: 1 } },
{ $group: { _id: "$tag", posts: { $push: "$$ROOT" } } }
])
这将按标签字段将文档分组,并将每个组的文档存储在名为"posts"的数组中。
完整的示例代码如下:
db.posts.aggregate([
{ $sort: { date: 1 } },
{ $group: { _id: "$tag", posts: { $push: "$$ROOT" } } }
])
这将返回一个按标签字段分组的结果,每个组包含一个"_id"字段(对应标签值)和一个"posts"字段(包含该组的所有文档)。
希望这可以帮助到你!