2017-09-22 49 views
0

數組查詢我有一個數據庫對象看起來像這樣:如何在對象的MongoDB中

{ 
    user_name: 'string', 
    skills: [ 
     { skill: 'skill1', lvl: 3 } 
    ], 
    wantsToLearn: [ 
     {skill: 'skill2' } 
    ] 
} 

我想打一個查詢,其中我發現所有的用戶提供了wantToLearn技能與一個PF匹配我的輸入用戶的技能(與lvl無關),反之亦然。基本上,我希望能夠找到技能和他們想學習的東西之間匹配的所有用戶。

我看了一下mongodb文檔,對於如何做到這一點最好的方法仍然有點無知。一般來說,除了某些sql之外,我對數據庫是新手。

任何指針將不勝感激!

+0

的可能的複製方式[比較兩個對象數組並檢查它們是否具有公共元素](https://stackoverflow.com/questions/42583967/comparing-two-object-arrays-and-check-if-they-have-common-elements) – Veeram

回答

1

如果你想找到的所有用戶符合某一技能,所有你需要做的是:

db.getCollection('yourCollection').find({"wantsToLearn.skill": "skill2" })

這就是你查詢的MongoDB的子文檔,甚至在陣列