2015-09-04 99 views
2

我可以使用以下方法初始化水线模型。实例化水线模型

var user = Waterline.Collection.extend({ 

     attributes: { 
     name: 'string', 
     password: 'string', 

     // Override toJSON instance method 
     toJSON: function() { 
      var obj = this.toObject(); 
      delete obj.password; 
      return obj; 
     } 
     } 
    }); 
module.exports = user; 

然后我试着在不同的文件中使用下面的方法实例化水线模型。

var user = require('./ user'); user.find({id:1})。exec(function(err,model){ return model.toJSON(); //将只返回名称 });

但后来我得到以下错误。

User.find({ "first_name": "lahiru" }).exec(function (err, model) { 
    ^
TypeError: undefined is not a function 

是否有从初始化用户实例化用户模型的特定方法。任何形式的帮助,将不胜感激。

回答

0

您必须初始化水线

var Waterline = require('waterline'); 
var waterline= new Waterline(); 

然后,你必须加载集合

var User = require('user.js'); 
waterline.loadCollection(User); 

最后初始化水线

waterline.initialize(connectionConfig, function(err, models) { 
    if(err) { 
     logger.err('Error initializing ORM', err); 
     throw err; 
    }; 
    models.collections.user.find().exec(function(err, users){ 
     if(err) throw err; 
     console.log(users); 
    }) 
}); 

下找到models.collections您的模型。 铌:给你的模型一个身份名称

var user = Waterline.Collection.extend({ 
    identity : 'user', 
    attributes: { 
    name: 'string', 
    password: 'string', 

    // Override toJSON instance method 
    toJSON: function() { 
     var obj = this.toObject(); 
     delete obj.password; 
     return obj; 
    } 
    } 
});