我有一个如下所示的数据库对象:
{
user_name: 'string',
skills: [
{ skill: 'skill1', lvl: 3 }
],
wantsToLearn: [
{skill: 'skill2' }
]
}
我想进行一个查询,其中我找到所有具有与我输入用户的技能(无论等级如何)相匹配的wantToLearn技能的用户,反之亦然。基本上,我希望能够找到技能与他们想要学习的内容相匹配的所有用户。
我已经查看了 mongodb 文档,但仍然对如何最好地做到这一点一无所知。除了一些 sql 之外,我对数据库总体来说是新手。
任何指点将不胜感激!
最佳答案
如果您想找到与您给定技能匹配的所有用户,您所要做的就是:
db.getCollection('yourCollection').find({"wantsToLearn.skill": "skill2"})
这就是在 MongoDB 中查询子文档的方式,即使是在数组中
关于javascript - 如何在 mongodb 中查询对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46373409/