collections:
posts: ->
# @getCollection('documents').findAllLive({relativeDirPath: 'posts'}, [date: -1])
@getCollection('documents').findAllLive({relativeDirPath: {'$in' : ['posts', /post\/[0-9]+/ ]}}, [date: -1])
在主docpad.coffee
中,{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 :(得分:0)
根据要求,您不需要模式匹配。组查询键" $或"应该适合你:
@getCollection('documents').findAllLive
$or: [
{
relativeDirPath:
"$startsWith": "posts"
}
{
relativeDirPath:
"$startsWith": "post"
}
]
, [date: -1]