2014-12-23 122 views
0

我對mongodb很新,而且我無法在我的mongo集合中進行查詢。如何查詢mongodb中的對象數組中的數組?

結構:

"chapterId":1, 
"videos" : [ 
     { 
      "videoId" : "1", 
      "videoName" : "about", 
      "duration" : "12:36", 
      "tags":["business", "design"] 
     }, 
     { 
      "videoId" : "2", 
      "videoName" : "course", 
      "duration" : "04:00", 
      "tags":["technology", "design"] 
     } 
] 

我需要chapterId 1

選擇與標籤「生意」的所有視頻可以這樣不改變我收藏的結構來完成?

回答

3

你應該使用聚合所以下面的查詢會幫助你

db.collectionName.aggregate(
      {"$unwind":"$videos"}, 
      {"$match":{"chapterId":1,"videos.tags":"business"}} 
     )