【发布时间】:2020-11-07 03:01:13
【问题描述】:
上下文
示例 JSON 内容(使用 Mongoose 获取)
[
{
"name": "user1",
"blogs": [
{
"title": "blog1",
"created": "01-01-2020"
},
{
"title": "blog2",
"created": "01-01-2020"
}
]
},
{
"name": "user2",
"blogs": [
{
"title": "blog3",
"created": "01-01-2020"
},
{
"title": "blog4",
"created": "01-01-2020"
}
]
}
]
问题
我正在尝试显示所有博客文章的列表,按文章的创建日期排序,并显示创建它的用户。
在 Pug 中注入上述对象并执行 foreach 将按用户对所有表演进行分组,并且无法对所有表演的创建日期进行排序(在此对象形式中)。
我的解决方案将是以下对象:
示例 JSON,将每个博客条目映射到一个用户
[
{
"name": "user1",
"blog": {
"title": "blog1",
"created": "01-01-2020"
}
},
{
"name": "user1",
"blog": {
"title": "blog2",
"created": "01-01-2020"
}
},
{
"name": "user2",
"blog": {
"title": "blog3",
"created": "01-01-2020"
}
},
{
"name": "user2",
"blog": {
"title": "blog4",
"created": "01-01-2020"
}
}
]
这种对象形式可以使每个博客条目仍然显示用户的数据并按演出的创建日期排序。
我正在尝试实现后者,但我还没有找到一种没有 foreaching 或映射的干净方法。
注意
这个问题可以很容易地通过定义关系和解析键来解决,但我明确地试图用NoSQL来解决这个问题。 因此,博客实体中没有用户的引用。
你会如何解决这个问题?这个特定操作的特征名称是什么?
【问题讨论】:
标签: javascript arrays mongodb mongoose lodash