【问题标题】:Loopback/mongodb: find all jobs that share a certain skillLoopback/mongodb:查找所有共享某项技能的工作
【发布时间】:2020-01-29 11:02:34
【问题描述】:

我有一系列具有特定技能的工作。请看下图。

如您所见,每个“工作”对象都有一个“技能”数组。技能在不同的工作之间共享,因此我需要编写一个获取请求,以便当用户单击一项技能时,它会显示需要该技能的不同工作。你能帮我解决这个问题吗?我写了一个代码,但它不起作用。

总共有 32 个文档,每个文档看起来像这样。它有一个工作名称和一系列技能。

一些工作具有相同的技能。例如 IT 业务分析师和业务分析师。

虽然有些工作只共享犹太人的。例如,业务分析师和技术经理共享“沟通”技能。

输出是共享相同技能的文档数组。例如“业务分析师”和“技术经理”对象的数组,因为它们共享“沟通”技能。

[
  {
    "name": "Business Analyst",
    "category": "Analyze",
    "skills": [
      {
        "name": "Listener",
        "id": "1"
      },
      {
        "name": "Critical Thinking",
        "id": "2"
      },
      {
        "name": "Problem Solving",
        "id": "3"
      },
      {
        "name": "Analytical",
        "id": "4"
      },
      {
        "name": "Communication",
        "id": "5"
      },
      {
        "name": "Documentation",
        "id": "6"
      },
      {
        "name": "Research",
        "id": "7"
      }
    ]
  },
{
    "name": "Technical Manager",
    "category": "Management",
    "skills": [
      {
        "name": "Team Management",
        "id": "8"
      },
      {
        "name": "Mentorship",
        "id": "9"
      },
      {
        "name": "Decision Making",
        "id": "10"
      },
      {
        "name": "Strategic Thinking",
        "id": "11"
      },
      {
        "name": "Negotiating",
        "id": "12"
      },
      {
        "name": "Communication",
        "id": "5"
      },
      {
        "name": "Financials",
        "id": "13"
      }
    ]
  }

]

【问题讨论】:

    标签: mongodb loopback4


    【解决方案1】:

    这是一个非常基本的查询,我想知道你是怎么不明白的。

    db.getCollection('skills').find({"skills.name":"Communication"})
    

    如果是唯一的,则通过技能 ID

    db.getCollection('skills').find({"skills.id":"5"})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-26
      • 1970-01-01
      • 1970-01-01
      • 2012-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多