2015-09-04 125 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; 
    } 
    } 
});