按其子文档分割文档

我现在面临一个问题,无法find解决办法。 我有一个在每个文档中的数组中的子文档的集合,我想检索每个子文档的文档。

举个例子,解释起来会比较简单。 假设我有一个集合的“模式”:

{ a: String, b: [String] } 

a和b都是必需的。 这个集合的文档看起来像:

 { a : 'hey', b: ['me', 'you'] } 

我想find一种方法来做一个不会返回这个文件的mongoose查询,但是这两个文件:

 [{ a: 'hey', b: 'me' }, { a: 'hey', b: 'you' }] 

那可能吗 ?

提前致谢。

PS:我知道一旦我用一个简单的JS函数检索了列表,我就可以做到这一点,但我迫不及待地想要检索完整的列表来开始使用它。

这正是$unwind聚合运算符所做的:

 MyModel.aggregate({$unwind: '$b'}, function(err, result) { ... }); 

results得到一个如下所示的数组:

 [ { _id: 524d5f6e1576f8a0f35fca8e, a: 'hey', b: 'me' }, { _id: 524d5f6e1576f8a0f35fca8e, a: 'hey', b: 'you' } ]