使用mongoose通过嵌套的文件属性来查找

我目前有一个文件集合,每个文件都包含指向该集合中其他文档的数组。 我需要查询这个集合中的嵌套在数组中的文件包含一个特定的属性。 我希望这会更清楚地解释我的要求:

if doc.list1[0].prop = 'foo' or doc.list2[0].prop = 'foo' then select doc 

我曾尝试使用.find()像这样,但无济于事。

 { 'doc.list1': 'foo', $or: [ { 'doc.list2': 'foo' } ] } 

我在正确的轨道上? 因为我不认为我是。 这是我能从文档中得到的最好的结果。

编辑

这是我的实际查询初始化使用与托马斯的build议相同的布局。

 var query = this.Word.find({ $or: [ { 'before.0.cleanWord': topic }, { 'after.0.cleanWord': topic }, { 'cleanWord': topic } ] }); 

 { $or: [ { 'doc.list1.0.prop': 'foo' } { 'doc.list2.0.prop': 'foo' } ] } 

http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24or