2014-05-02 90 views
0

我有一個集合「課程」這一結構: { Lessons: [ { Title: 'xxx', Contents: [ { Title: 'yyy', }, ... ] }, ... ] } 如何在MongoDB中展開集合中的集合?

我怎樣才能檢索到的所有內容的標題的使用MongoDB的聚集管道名單?

我設法$放鬆所有的內容是這樣的:

db.Course.aggregate({ $unwind : '$Lessons' }, { $unwind : '$Lessons.Contents' }) 

但我不能設法過濾僅在每個內容中的標題。

回答

1

你非常接近。如果我得到您的要求,您只需要添加一個投影:

db.Course.aggregate( 
    { $unwind : "$Lessons" }, 
    { $unwind : "$Lessons.Contents" }, 
    { $project: { _id: 0, test: "$Lessons.Contents.Title" } } 
) 
+0

謝謝。不知何故,我以爲我不得不以某種方式引用數組內的元素。 $ Lessons.Contents.Title是無效的。 – Dema

+0

我試圖在MongoDB官方文檔中找到有關此字段路徑語法的很好參考,但找不到它。你知道有沒有?再次感謝。 – Dema