Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Docpad并连接到MongoDb_Node.js_Mongodb_Docpad - Fatal编程技术网

Node.js Docpad并连接到MongoDb

Node.js Docpad并连接到MongoDb,node.js,mongodb,docpad,Node.js,Mongodb,Docpad,我希望我的docpad网站使用mongoDb而不是文件系统来存储文档(Heroku部署)。有docpad插件吗?我似乎找不到让docpad使用mongo的直接方法。我已经看过了-但这没有给出实现连接的实际技术细节我不知道有任何mongodb插件。最简单的出发点可能是使用,并将其修改为从mongodb而不是从tumblr rss/atom提要读取 该插件的代码并不十分复杂。首先,您希望将该函数替换为从MongoDB获取数据的函数,然后您希望调整以将该数据转换为虚拟文档。我一直在编写一些代码,这些代

我希望我的docpad网站使用mongoDb而不是文件系统来存储文档(Heroku部署)。有docpad插件吗?我似乎找不到让docpad使用mongo的直接方法。我已经看过了-但这没有给出实现连接的实际技术细节

我不知道有任何mongodb插件。最简单的出发点可能是使用,并将其修改为从mongodb而不是从tumblr rss/atom提要读取


该插件的代码并不十分复杂。首先,您希望将该函数替换为从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
    @