【问题标题】:Mongodb find comparing array element to array fieldMongodb找到比较数组元素到数组字段
【发布时间】:2021-05-19 14:33:57
【问题描述】:

我想知道如何比较 Mongoose 中的(嵌套)对象数组。

考虑到下面的代码,我想在 pskills 属性匹配时得到结果。谁能帮我解决这个问题?

  ao = await Ao.find({
//req.body.pSkills is arraay //['nodejs', 'angular'..]
                pSkills: { $eq: req.body.pSkills }
          });

【问题讨论】:

  • 您到底想找到什么?所有具有与req.body.pSkilles 完全相同的 pSkills 的文档?所有包含req.body.pSkilles 中的 pSkills 的文档?所有具有至少一项来自req.bodypSkilles 的 pSkill 的文档。提供一个场景通常很有帮助。
  • 完全像这个示例文档:{name: 'test', pSkills: 'Angular','nodejs,'..]}
  • 我用 pSkils = [nodejs] 搜索文档

标签: node.js arrays mongodb mongoose find


【解决方案1】:

您必须使用$in 来搜索数组。

试试这个查询:

ao = await Ao.find({
  "pSkills": {
    "$in": req.body.pSkills
  }
})

查看this 示例

【讨论】:

  • 不客气。此外,如果问题已解决,请将答案标记为已接受。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-25
  • 2020-04-25
  • 2014-10-13
  • 2015-07-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多