2014-07-07 108 views
0
collections: 
    posts: -> 
     # @getCollection('documents').findAllLive({relativeDirPath: 'posts'}, [date: -1]) 
     @getCollection('documents').findAllLive({relativeDirPath: {'$in' : ['posts', /post\/[0-9]+/ ]}}, [date: -1]) 

在主要​​,{relativeDirPath: {'$in' : ['posts']}是標準的事情。如何使用模式匹配獲取路徑中的集合?

但是,{relativeDirPath: {'$in' : ['posts', /post\/[0-9]+/ ]}沒有。

我試圖讓那些在下面的目錄結構添加到收藏posts文件:

/src/documents/posts/blah-blah.html 
/src/documents/post/12345678/foo-bar-baz.html 
/src/documents/post/62347878/woop-woop.html 

...和使用模式在relativeDirPath匹配似乎是要走的路。 但是,它不匹配任何這些文件。 我該如何做這項工作?

回答

0

根據要求,您不需要模式匹配。組查詢鍵「$或」應該適合你:

@getCollection('documents').findAllLive 
    $or: [ 
      { 
       relativeDirPath: 
        "$startsWith": "posts" 
      } 
      { 
       relativeDirPath: 
        "$startsWith": "post" 
      } 
     ] 
, [date: -1] 
相關問題