Sails.js按计算属性

时间:2015-07-07 21:38:12

标签: sails.js

我在sails.js中编写API,我遇到了查找对象的问题。

我有带属性的模型:

  attributes: {
    firstName:{
      type:"string",
      required:true,
      minLength: 2
    },

    lastName:{
      type:"string",
      required:true,
      minLength: 2
    },

    getFullName: function (){
      var fl =  this.firstName + " " + this.lastName;
      return fl;
    },
  }

现在我想找到一个带有getFullName的对象startsWith" xyz qwe"

我该怎么做?

我试过了:

Patient.find({ getFullName: { 'startsWith': 'Tomas' }}).exec(console.log)

Patient.find({ getFullName(): { 'startsWith': 'Tomas' }}).exec(console.log)

两者都不起作用。

我可以在find()函数中访问getFullName等计算属性吗?

当然这个查询正在运行:

Patient.find({ firstName: { 'startsWith': 'Tomas' }}).exec(console.log)

1 个答案:

答案 0 :(得分:0)

exec或回调有2个参数(与任何其他回调一样),它是errorresult。所以你的代码应该是。

Patient
  .find({ getFullName: { 'startsWith': 'Tomas' }})
  .exec(function(err, founds){
    if(err) return console.error(err);

    console.log(founds);
  });

或者你可以使用Promise链来做你以前做过的事情。

Patient
  .find({ getFullName: { 'startsWith': 'Tomas' }})
  .then(console.log)
  .catch(console.error);