2014-07-06 35 views
-1

我有一个后台进程,它更新流星中的一些数据,并且数据库密集程度很高。流星在Mongoose中的简单模式验证器

我得出的结论是,对于不需要被动反应的数据,我最好避开Meteor并直接更新数据,因为它的数据库访问的同步性质似乎是在内部创建负载流星过程,我宁愿没有。

要做到这一点,我使用的是Mongoose,它似乎工作得很好,因为使用Mongoose时几乎没有负载,但是使用Meteor CPU时非常高。验证器有点不同,但是如果我避免RegEx验证器,我很好。

我使用这种方法的问题是导出Meteor简单模式验证器以用于Mongoose。我在/lib/schema.js中创建了模式对象,这对Meteor来说工作得很好。当我尝试导出使用module.exports在Mongoose中使用的对象时,我得到一个 模块未定义错误。

如果我尝试使用导入模块:

var module = Meteor.require('module'); 
schemaObject = { 
    prop1: { 
    type: String, 
    label: "Property 1", 
    max: 24 
    }, 
    prop2: { 
    type: Number, 
    label: "Another property", 
    max: 9999 
    }, 
} 
module.exports.schemaObject = schemaObject; 

我得到一个无法设置未定义错误的特性“schemaObject”。 有关如何解决此问题的任何想法?

+0

你不应该写流星代码Node.js的 –

回答

0

尝试替换最后一行:

module.export = { 
    schemaObject: schemaObject 
    } 
+0

太棒了,这让我过去了以前看到的错误。由于Meteor.require,我现在遇到了一个_Meteor,在Mongoose Code中没有defined_ ReferenceError。 – user1074891