Node.js Docpad并连接到MongoDb
我希望我的docpad网站使用mongoDb而不是文件系统来存储文档(Heroku部署)。有docpad插件吗?我似乎找不到让docpad使用mongo的直接方法。我已经看过了-但这没有给出实现连接的实际技术细节我不知道有任何mongodb插件。最简单的出发点可能是使用,并将其修改为从mongodb而不是从tumblr rss/atom提要读取Node.js Docpad并连接到MongoDb,node.js,mongodb,docpad,Node.js,Mongodb,Docpad,我希望我的docpad网站使用mongoDb而不是文件系统来存储文档(Heroku部署)。有docpad插件吗?我似乎找不到让docpad使用mongo的直接方法。我已经看过了-但这没有给出实现连接的实际技术细节我不知道有任何mongodb插件。最简单的出发点可能是使用,并将其修改为从mongodb而不是从tumblr rss/atom提要读取 该插件的代码并不十分复杂。首先,您希望将该函数替换为从MongoDB获取数据的函数,然后您希望调整以将该数据转换为虚拟文档。我一直在编写一些代码,这些代
该插件的代码并不十分复杂。首先,您希望将该函数替换为从MongoDB获取数据的函数,然后您希望调整以将该数据转换为虚拟文档。我一直在编写一些代码,这些代码现在可以从MongoDB读取并返回可以呈现为文档的对象。我还尝试编写一些代码,为数据库的基本编辑提供后端,但更新后的重新生成尚未工作(尽管在阅读本文时可能已经工作了!) 下面是关键部分(感谢BALupton对回调复杂性的帮助)
extendTemplateData: (opts,next) ->
config = @getConfig()
mongoose.connect(config.uristring)
db = mongoose.connection
db.on 'error', (err) ->
docpad.error(err) # you may want to change this to `return next(err)`
db.once 'open', ->
queries = config.queries
queryCount = 0
totalQueries = Object.keys(queries).length
for index, query of queries
((indexClosure) ->
Dbdata.find query.predicate, (err, data) ->
opts.templateData[indexClosure] = data
if (++queryCount == totalQueries)
mongoose.connection.close()
return next(err) if err
return next(null, data)
)(index)
# Chain
@
看