【问题标题】:Classification with mongoose用猫鼬分类
【发布时间】:2022-01-10 15:09:13
【问题描述】:

我有这样的原始文章集合:

{
  title: "how javascript closure works?",
  tag: "JS"
},
{
  title: "react hooks exploration",
  tag: "React"
},
{
  title: "Prototype link in Javascript",
  tag: "JS"
},
{
  title: "Component lifecircle in React",
  tag: "React"
}

get url api: /api/articles with controller getArticlesByTag 返回这个 json 数组:

{
  tag: "JS",
  articles: [
    {
      title: "how javascript closure works?",
      tag: "JS"
    },
    {
      title: "Prototype link in Javascript",
      tag: "JS"
    }, 
  ]
},
{
  tag: "React",
  articles: [
    {
      title: "react hooks exploration",
      tag: "React"
    },
    {
      title: "Component lifecircle in React",
      tag: "React"
    },
  ]
}

articles 数组应该包含所有带有适当标签的文章。

如何使用 mongoose 和 express 做到这一点?

【问题讨论】:

    标签: mongodb express mongoose


    【解决方案1】:

    您可以使用Article.aggregate() 调用,而不是使用Article.find() 调用。您可以通过管道传递您的文档以重塑它们。这样的事情应该让你开始:

    Article.aggregate([
        { $group: {
            _id: "$tag"
            articles: { $addToSet: "$$ROOT" }
        }}
    ])
    

    【讨论】:

    • 我改了问题。现在一定很清楚了。
    • 是的,这极大地改变了解决方案。还请添加您迄今为止尝试查询 mongo 数据库的内容。
    • 请检查这个问题。我添加了一些信息。
    • 我已根据您的新信息更新了此答案。
    • 是的,我改了。它有效,但并不完美,这是另一个错误:“字段'标签'必须是一个累加器对象”。大声笑
    猜你喜欢
    • 2012-09-20
    • 1970-01-01
    • 2018-08-22
    • 2017-01-14
    • 2018-06-15
    • 2012-09-01
    • 2015-01-25
    • 2021-03-17
    • 2016-02-22
    相关资源
    最近更新 更多