我可以使用以下方式初始化水线模型。
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 :(得分:0)
你必须实例化Waterline
var Waterline = require('waterline');
var waterline= new Waterline();
然后你必须加载集合
var User = require('user.js');
waterline.loadCollection(User);
最后初始化Waterline
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下找到您的模型。 Nb:为您的模型提供身份名称
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;
}
}
});