javascript - 如何在 mongodb 中查询对象数组

标签 javascript database mongodb javascript-objects

我有一个如下所示的数据库对象:

{
   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/

相关文章:

java - 带条件的 mongotemplate 聚合

javascript - 指针事件监听器、形状手势 - 如何实现? [包括图形示例]

php - 在MySQL数据库中保存图片路径,然后拉取该数据显示图片?

sql - 以编程方式确定SQL中所需的JOIN语句系列

mysql - 如何优化我的事件反馈循环 (Rails)

python - Pymongo 游标限制(1)返回超过 1 个结果

javascript - 了解 Mongoose 子文档

javascript - 增加一个整数字符串

javascript - 当子级来自另一个域时更改 iframe 高度

javascript - NOT_FOUND_ERR : DOM Exception 8 - javascript