如何为db查询创建动态辅助函数

时间:2013-12-13 01:39:41

标签: node.js mongodb express parse-platform

我有一个类别列表,我需要从我的应用程序中的多个位置的数据库中进行选择。

到目前为止,我一直在回调链中抛出查询以用于每次使用。

我想在一个地方抓住它,所以如果我需要修改它就干了。

基本上是:

function() {
    var categoryList = {};
    var Category = Parse.Object.extend("Category");
    var categoryQuery = new Parse.Query(Category);
    categoryQuery.find(function(categories) {

        categories.forEach(function(item) {
            item=item.toJSON();
            categoryList[item.objectId] = item.Name;
        });

    });

    return categoryList;
}

但是我不确定在哪里放置它,我意识到它在那里写的categoryList将是空的。如何创建一个帮助函数,为我提供可以在任何地方使用的结果?

我以为我可以把它放在外部文件中并使用require,但我试过了:

module.exports = {};
module.exports = function(fn) {

    <code>

    fn['categoryList'] = categoryList;

    return fn;
}(module.exports);

这似乎不起作用。我把需求放在app.js中,并且每次包含它时,解析都会说“更新失败并且无法加载触发器。”

我对节点/解析感到非常难倒。有人可以帮忙吗?

感谢。

1 个答案:

答案 0 :(得分:1)

选项1

helper.js

var lib = require('lib');

// exports functions
exports.help_a = function (...) { };
exports.help_b = function (...) { };

app.js

// imports heplers functions
helper = require('./helper.js');

//call
helper.help_a(...);
helper.help_a(...);

选项2

helper.js

// exports module as function
module.exports = function (...) { };

app.js

helper = require('./helper.js');
helper(...);