我有一个看起来像这样的db对象:
{
user_name: 'string',
skills: [
{ skill: 'skill1', lvl: 3 }
],
wantsToLearn: [
{skill: 'skill2' }
]
}
我想进行一个查询,其中我发现所有具有wantToLearn技能的用户匹配我的输入用户的技能(不管是lvl),反之亦然。基本上,我希望能够找到技能和他们想要学习的东西之间匹配的所有用户。
我已经查看了mongodb文档,对于如何以最佳方式执行此操作仍然有点无能为力。除了一些sql之外,我对数据库很新。
任何指针都将非常感激!
答案 0 :(得分:1)
如果您想找到符合您指定技能的所有用户,您只需:
db.getCollection('yourCollection').find({"wantsToLearn.skill": "skill2" })
这就是你在MongoDB中查询子文档的方式,即使在数组
中也是如此