在Mongoose Schema

时间:2018-05-24 11:34:56

标签: node.js mongoose

我在从控制器调用模型中定义的实例方法之一时遇到TypeError。

控制器:

这是我在Controller中的代码:

var Area = require('../../models/area');

Area.findOne({_id: 'Test'}).then((a) => {
    a.getChildren().then((area) => {console.log(area)})
})

并返回此错误:

TypeError: a.getChildren is not a function

型号:

这是我在模型中的代码:

areaSchema.method({
  getChildren: function() {
    return new Promise(function(resolve, reject) {
      this.model('Area').find({path: {$regex: '/' + this.path + '/'}}).exec.then((areas) => {
        return resolve(areas)
      }).catch((error) => reject(error))
    })
  }
})

    module.exports = Area;

节点控制台:

我也尝试过节点控制台:

var Area = require('./models/area')
var a = new Area({name: 'test', type: 'test'})
a.getChildren().then((area) => {console.log(area)})

并且它也返回相同的错误:

TypeError: a.getChildren is not a function

0 个答案:

没有答案