我的褶皱结构是这样的:
我想从文档中获取一个集合,我的代码是:
techs: ->
@getCollection("html").findAllLive({relativeOutDirPath: /techs/docs/},[{date: -1}]).on "add", (model) ->
model.setMetaDefaults({layout: "post"})
它不会起作用......有人可以告诉我发生了什么吗?
答案 0 :(得分:3)
/techs/docs/
中的{relativeOutDirPath: /techs/docs/}
被解析为正则表达式,而不是字符串。用引号括起来,这样你就可以{relativeOutDirPath: "/techs/docs/"}
了。你可能需要也可能不需要最初的斜线,我记不起来了。
答案 1 :(得分:1)
您可能希望使用Docpad提供的方便助手:getFilesAtPath。
答案 2 :(得分:0)
也许您应该阅读文件“docpad.coffee”
有一个“集合”部分,你可以设置名为“html”的集合,并选择(数据库)中的所有文件。
答案 3 :(得分:0)
我遇到了问题,具体取决于我运行带有文件路径约定的node.js和docpad(即Windows)的系统。所以我采用以下方法来确保我没有遇到任何这类问题:
@getCollection("html").findAllLive({relativeOutDirPath:path.join('techs','docs')},[date:-1])
请注意'path.join'位
答案 4 :(得分:0)
就像示例一样,路径中的所有html文档都以“post”
开头@getCollection("html").findAllLive({relativeOutDirPath: {$beginsWith: 'post'}})