【问题标题】:How to search for key value pairs in Mongoose and MongoDB如何在 Mongoose 和 MongoDB 中搜索键值对
【发布时间】:2021-05-15 08:00:05
【问题描述】:

我正在创建一个 MERN 应用程序,允许用户将他们的编码知识水平输入数据库。

Schema 中有一个称为技能的值允许这样做:

skills: [{
    skill: String,
    yearsExperience: String
}]

这意味着用户的技能在 MongoDB 数据库中将如下所示:

skills: [
    {skill: 'React', yearsExperience: '3 years'},
    {skill: 'HTML', yearsExperience: '5 years'},
    {skill: 'JavaScript', yearsExperience: '5 years'},
    {skill: 'Git', yearsExperience: '3 years'},
    {skill: 'TypeScript', yearsExperience: '< 1 year'},
    {skill: 'C++', yearsExperience: '1 years'}
]

我正在创建一个管理面板,我希望能够查询每个用户的技能以找到合适的匹配项。因此,如果我想找到至少有 2 年 React 经验和至少 1 年 C++ 经验的人,此查询将响应一个 JSON 对象,其中包含满足此要求的所有用户。这个问题是我从来没有处理过这些被保存到数据库的动态对象,所以我不确定 Mongoose 是否有内置的方法来处理这个问题。任何建议都会很棒!

【问题讨论】:

    标签: mongodb mongoose


    【解决方案1】:

    因为多年经验是您想要排序和过滤的指标,所以您真的不想将其存储为字符串。如果这是您可以控制的,您应该将其存储为数字,此时您可以使用 $gt 等运算符执行非常简单的 find

    【讨论】:

      猜你喜欢
      • 2015-03-22
      • 2012-02-06
      • 2022-07-22
      • 2022-01-06
      • 2017-05-14
      • 2015-06-29
      • 2014-05-26
      • 2014-10-16
      • 2020-05-18
      相关资源
      最近更新 更多